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으로 업데이트