-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
52 lines (35 loc) · 1.63 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from flask import Flask
from flask_restful import Api
from config import Config
from flask_jwt_extended import JWTManager
from resources.favorite import FavoriteListResource, FavoriteResource
from resources.movie import MovieListResource, MovieResource, MovieSearchResource
from resources.recommend import MovieRecommendRealTimeResource, MovieRecommendResource
from resources.review import MovieReviewResource, ReviewListResource
from resources.user import UserInfoResource, UserLoginResource, UserLogoutResource, UserRegisterResource,jwt_blacklist
app = Flask(__name__)
# 환경변수 셋팅
app.config.from_object(Config)
# JWT 매니저 초기화
jwt=JWTManager(app)
# 로그아웃된 토큰으로 요청하는 경우 처리하는 코드작성.
@jwt.token_in_blocklist_loader
def check_if_token_is_revoked(jwt_header,jwt_payload) :
jti = jwt_payload['jti']
return jti in jwt_blacklist
api = Api(app)
# 경로와 리소스 코드를 연결한다.
api.add_resource(UserRegisterResource,'/user/register')
api.add_resource(UserLoginResource,'/user/login')
api.add_resource(UserLogoutResource,'/user/logout')
api.add_resource(UserInfoResource,'/user/me')
api.add_resource(MovieListResource,'/movie')
api.add_resource(MovieSearchResource,'/movie/search')
api.add_resource(MovieRecommendRealTimeResource,'/movie/recommend')
api.add_resource(MovieResource,'/movie/<int:movie_id>')
api.add_resource(MovieReviewResource,'/movie/<int:movie_id>/review')
api.add_resource(FavoriteResource,'/favorite/<int:movie_id>')
api.add_resource(FavoriteListResource,'/favorite')
api.add_resource(ReviewListResource,'/review')
if __name__ == '__main__' :
app.run()