현재 selet * from recipe; 했을 때의 테이블 데이터 상태이다 여기서 데이터 하나 인서트 해보겠다.
POST를 설정해서 create 즉 데이터를 insert 해줄 것을 서버에게 요청해주고 경로에 맞게 요청해준다.
Body 부분에 들어가서 각 컬럼에 맞게 요청해주면 된다.
요청이 잘되면 석세스라는 문구가 뜬다.
인서트가 잘 된 것을 볼 수 있다.
코드 작성
from flask import request
from flask_restful import Resource
from myspl_connection import get_connection
from mysql.connector import Error
class RecipeListResource(Resource) :
# API를 처리하는 함수 개발
# HTTP Method를 보고 똑같이 만들어준다
def post(self) :
# 1. 클라이언트가 보내준 데이터가 있으면 그 데이터를 받아준다
data = request.get_json()
# 2. 이 레시피 정보를 DB에 저장해야한다
try :
# DB에 연결
connection = get_connection()
# 쿼리문 만들기
query = '''insert into recipe(name, description, num_of_servings, cook_time, directions)
values(%s, %s, %s, %s, %s);'''
# 쿼리에 매칭되는 변수 처리해주기(튜플로)
record = (data['name'], data['description'], data['num_of_servings'],
data['cook_time'], data['directions'])
# 커서를 가져온다
cursor = connection.cursor()
# 쿼리문을 커서로 실행한다
cursor.execute(query, record)
# 커밋해줘야 DB에 완전히 반영된다
connection.commit()
# 자원 해제
cursor.close()
connection.close()
except Error as e :
print(e)
cursor.close()
connection.close()
return {"result" : "fail", "error" : str(e)}, 500
# API를 끝낼때는 클라이언트에 보내줄 정보(json)와 http 상태코드를 리턴한다(보내준다)
return {"result" : "success"}, 200
'RestfulAPI' 카테고리의 다른 글
TypeError: Object of type ...is not JSON serializable 에러 발생 이유와 해결 방법 (0) | 2024.05.22 |
---|---|
Restful Python MySQL Connector 셀렉트 하는 방법과 코드 (0) | 2024.05.22 |
Restful Python MySQL Connector 설치 방법 (0) | 2024.05.22 |
가상환경 설정 및 필요한 프레임워크와 라이브러리 설치,postman 설치 및 실 (0) | 2024.05.20 |
Restful API란?(URL,Methods,Message) (0) | 2024.05.20 |