반응형
< Python MySQL Connector 딜리트 하는 방법과 코드 >
# PUT 기능에서 이어서 진행! (참고 : https://sorktjrrb.tistory.com/145)
# 레시피를 삭제(DELETE) 하는 API를 만들어 보자
- 우선, 포스트맨을 실행시켜 DELETE로 설정하고, URL(삭제할 id값도 같이 입력) 입력!
- Body 작성 필요없이 URL로만 전송
# VSCode에서 API 코드 작성!
- id를 지정하여 가져오는 형태이므로 특정 레시피를 선택 및 수정했던 class에 이어서 작성
from flask import request
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error
class RecipeResource(Resource) :
# 레시피 삭제하는 API
# 삭제는 delete
def delete(self, recipe_id) :
# DB 에 수정한다.
try :
connection = get_connection()
# 컬럼과 매칭되는 데이터는 %s로 하면된다.
query = '''delete from recipe
where id = %s and user_id = %s;'''
record = (recipe_id ,
user_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
# 클라이언트에 JSON 리턴한다.
return {'result' : 'success'}
# app.py 파일에 경로와 리소스(API 코드)를 연결하는 코드도 작성!
# API를 처리하는 코드는
# Resource 클래스를 상속받아서 작성한다.
# 이 클래스에는 get, post, put, delete 함수를 상속받는다.
# 따라서 이 함수들을, 우리의 서비스에 맞게 수정해서 사용하면된다.
from flask import Flask
from flask_restful import Api
# 생성한 API class 사용을위해서 생성시마다 import 필요!
from resources.recipe import RecipeListResource, RecipeResource
from config import Config
app = Flask(__name__)
api = Api(app)
# 경로(path)와 리소스(API 코드)를 연결한다.
# <int> flask 문법임 외워야됨
api.add_resource( RecipeListResource , '/recipes')
api.add_resource( RecipeResource , '/recipes/<int:recipe_id>')
if __name__ == '__main__' :
app.run()
# 완료 되었으면 서버 실행 cmd > flask run 후 postman을 실행하여 send!
- 포스트맨에 200 OK가 뜨고 VScode cmd 창에도 결과가 잘 출력되는것 확인!
- MySQL Workbench도 실행하여 DB에 데이터가 잘 삭제되었는지도 확인!
다음 게시글로 계속~!
728x90
반응형
'API 개발 > Restful API' 카테고리의 다른 글
Restful API : 회원 관리 API를 위한 email 체크 라이브러리 적용 (email-validator) (0) | 2024.05.24 |
---|---|
Restful API : 회원 관리 API를 위한 pbkdf2_sha256으로 비밀번호 암호화시키기 (0) | 2024.05.24 |
Restful API : Python MySQL Connector 업데이트 하는 방법과 코드 (0) | 2024.05.24 |
TypeError : Object of type ... is not JSON serializable 에러가 발생한 이유와 해결방법 (0) | 2024.05.24 |
Restful API : Python MySQL Connector 셀렉트 하는 방법 (0) | 2024.05.24 |