군침이 싹 도는 코딩

Python Flask에서 Resource 클래스를 이용한 API 서버 개발 방법 본문

Python/Flask

Python Flask에서 Resource 클래스를 이용한 API 서버 개발 방법

mugoori 2023. 1. 4. 17:45

 

from flask import Flask
from flask_restful import Api
from config import Config
from resources.recipe import RecipeListResource, RecipePublishResource, RecipeResource
from resources.user import UserRegisterResource


app = Flask(__name__)
app.config.from_object(Config)
api = Api(app)
#------------ 환경변수 세팅


api.add_resource(RecipeListResource, '/recipes')
api.add_resource(RecipeResource, '/recipes/<int:recipe_id>')
api.add_resource(RecipePublishResource, '/recipes/<int:recipe_id>/publish')
api.add_resource(UserRegisterResource, '/user/register')
#------------ 경로와 리소스(API코드)를 연결한다


if __name__ == '__main__' :
    app.run()

# app.py

 

 

 

 

from flask_restful import Resource


class RecipeResource(Resource) :
#--------- Resource 클래스를 상속받아 사용한다.


    def get(self, recipe_id) :
    	pass
#--------- get은 데이터를 받아올때 사용한다        
#--------- 클라이언트로부터 /recipes/3 과 같은 식의 경로를 처리하므로
#--------- 숫자는 바뀌므로, 변수로 처리해준다.


    def put(self, recipe_id) :
    	pass
#--------- 데이터를 업데이트하는 API들은 put 함수를 사용한다.


    def delete(self, recipe_id) :
    	pass
#--------- 삭제하는 delete 함수

    def post(self) :
    	pass
#--------- post는 바디정보를 적거나 하는등의 API에 사용가능


#-------- restful api 의 method 에 해당하는 함수 작성

# recipe.py

위 restful api의 메소드들은 어느것을 사용하는지는 사용자에 따라 각기 다르기때문에 적절하게 사용해주면 된다