Flask

API서버 - MySQL Connector 를 이용해 update 하기 (PUT)

yugyeong 2023. 1. 4. 18:01

MySQL Connector 를 이용해 update 하는 방법

 

 1. API 서버 구축

메인 파일 app.py

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 코드)를 연결한다.
api.add_resource(RecipeListResource, '/recipes')
api.add_resource(RecipeResource, '/recipes/<int:recipe_id>')

api.add_resource(UserRegisterResource, '/user/register')



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

 

 

2. 기능 설계

새로운 함수를 생성한다.

def put(self, recipe_id) :
        
        data= request.get_json()

        try :
            connection = get_connection()
            query = '''update recipe
                    set
                    name = %s,
                    description = %s,
                    num_of_servings = %s,
                    cook_time =%s,
                    directions = %s
                    where id = %s;'''

            record = (data['name'], data['description'], data['num_of_servings'], data['cook_time'], data['directions'], recipe_id)

            cursor = connection.cursor()

            cursor.execute(query, record)

            connection.commit()

            cursor.close()
            connection.close()

        except Error as e :
            print(e)
            cursor.close()
            connection.close()
            return {'result' : 'fail', 'error' : str(e)} , 500

        return {'result' : 'success'}, 200

 

 

3. postman 에서 API 기능 테스트

 

 

4. 잘 작동 되었는지 Mysql 로 돌아와서 확인