RestFul API

Is_publish μ»¬λŸΌμ„ updateν•˜μ—¬ "μž„μ‹œ μ €μž₯" κΈ°λŠ₯의 API λ§Œλ“€κΈ°

567Rabbit 2024. 5. 21. 17:52

 

 

is_publishλΌλŠ” μ»¬λŸΌμ€ 0은 κ³΅κ°œλ˜μ§€ μ•Šμ•˜μŒμ„ λœ»ν•˜κ³ , 1은 κ³΅κ°œλ˜μ—ˆμŒμ„ λœ»ν•œλ‹€

 

λ”°λΌμ„œ /publish λΌλŠ” pathλ₯Ό λ§Œλ“€μ–΄μ„œ is_publish μ»¬λŸΌμ„ 0λ˜λŠ” 1둜 μ—…λ°μ΄νŠΈ ν•˜μ—¬

 

곡개된 κΈ€λ‘œ λ§Œλ“€κ²ƒμΈμ§€, μ•„λ‹Œμ§€λ₯Ό κ²°μ •ν•˜λŠ” μž„μ‹œμ €μž₯ κΈ°λŠ₯을 API둜 κ΅¬ν˜„ν•  수 μžˆλ‹€.

 

 

 

 

 

app.py μž‘μ„±ν•˜κΈ°

 

 

 

 

 

 

 

recipe.py μž‘μ„±ν•˜κΈ°

 

bash
λ‹«κΈ°
from flask import request from flask_restful import Resource from mysql_connection import get_connection from mysql.connector import Error class RecipePublishResource(Resource): ​​​​ ​​​​def put(self, recipe_id): ​​​​​​​​ ​​​​​​​​try : ​​​​​​​​​​​​connection = get_connection() ​​​​​​​​​​​​query='''update recipe set is_publish = 1 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: # null이 μ•„λ‹ˆλ©΄ ​​​​​​​​​​​​​​​​cursor.close() ​​​​​​​​​​​​if connection is not None: ​​​​​​​​​​​​​​​​connection.close() ​​​​​​​​​​​​return {'result': 'fail', 'error': str(e)}, 500 # 500 μ—λŸ¬ ​​​​​​​​​​​​ ​​​​​​​​return {'result': 'success'} ​​​​ ​​​​ ​​​​def delete(self, recipe_id): ​​​​​​​​ ​​​​​​​​try : ​​​​​​​​​​​​connection = get_connection() ​​​​​​​​​​​​query='''update recipe set is_publish = 0 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: # null이 μ•„λ‹ˆλ©΄ ​​​​​​​​​​​​​​​​cursor.close() ​​​​​​​​​​​​if connection is not None: ​​​​​​​​​​​​​​​​connection.close() ​​​​​​​​​​​​return {'result': 'fail', 'error': str(e)}, 500 # 500 μ—λŸ¬ ​​​​​​​​​​​​ ​​​​​​​​return {'result': 'success'}

 

 

 

νŒŒμΌμ„ μ €μž₯ν•˜μ—¬ vscode 터미널 cmd 창에 flask run ν•œλ‹€.

 

 

 

 

 

 

is_publish = 1 둜 μ—…λ°μ΄νŠΈ

 

 

 

 

 

 

 

 

 

 

is_publish = 0으둜 μ—…λ°μ΄νŠΈ