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 ์ž‘์„ฑํ•˜๊ธฐ

 

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์œผ๋กœ ์—…๋ฐ์ดํŠธ