mysql_connection.py 파일
# MySQL에 접속하는 함수
import mysql.connector
from config import Config
def get_connection():
connection = mysql.connector.connect(
host= Config.HOST,
database= Config.DATABASE,
user= Config.DB_USER,
password= Config.DB_PASSWORD
)
return connection
API 리소스를 관리하는 recipe.py 파일
from flask import request
from flask_restful import Resource
from mysql_connection import get_connection
import mysql.connector
# API를 만들기 위해서는, flask_restful 라이브러리의 Resource 클래스를 상속해서 만든다.
class RecipeResource(Resource) :
# DELETE 메소드를 처리하는 함수
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 mysql.connector.Error as e :
print(e)
cursor.close()
connection.close()
return {"result" : "fail", "error" : str(e)}, 500
return {'result' : 'success'}, 200
메인파일 app.py
from flask import Flask
from flask_restful import Api
from config import Config
from resources.recipe import RecipeListResource, RecipeResource, RecipePublishResource
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')
if __name__ == '__main__':
app.run()
포스트맨에서 테스트
MySQL에서 확인
select * from recipe;
'REST API' 카테고리의 다른 글
API서버 - Flask JWT를 사용한 로그인 API 만들기 (0) | 2023.01.05 |
---|---|
API서버 - Flask JWT를 사용한 회원가입 API 만들기 (2) | 2023.01.05 |
API서버 - Python MySQL Connector를 이용해 update하기(PUT 메소드) (0) | 2023.01.04 |
API서버 - Python MySQL Connector를 이용해 select하기(GET 메소드) (0) | 2023.01.04 |
API서버 - Python MySQL Connector를 이용해 insert하기(POST 메소드) (0) | 2023.01.04 |