RestFul API

[RestFul API] Python MySQL Connector 특정값 삭제(Delete)하기

Mei99 2024. 5. 21. 16:22

 

메인 app.py 코드

 
from flask import Flask
from flask_restful import Api

from resources.recipe import RecipeListResource, RecipeResource


app = Flask(__name__)
api = Api(app)

# 경로(path)와 리소스(API 코드)를 연결한다.

api.add_resource( RecipeListResource  , '/recipes')
api.add_resource(RecipeResource, '/recipes/<int:recipe_id>')
# <int:recipe_id> : flask 프레임워크 문법


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

 

 

 

 

클라이언트가 요청한 값을 DB에서 DELETE(삭제)하는 코드는 아래와 같다.

from flask_restful import Resource
from flask import request
from mysql_connection import get_connection
from mysql.connector import Error
 
class RecipeResource(Resource) :
 
    def delete(self, recipe_id) :
       
        try :
            connection = get_connection()
            query = '''delete from recipe
                    where id=%s; '''
            record = (recipe_id, )
            cursor = connection.cursor()
            cursor.execute(query, record)
            connection.commit()
            cursor.close()
            connection.close()

        except Error as e:
            if cursor is not None:
                cursor.close()
            if connection is not None:
                connection.close()
            return {'result':'fail',
                    'error' : str(e)}, 500
       
        return{"result" : "success"}