📝Python MySQL Connector insert 해보기
포스트맨을 실행시켜 POST로 설정하고 URL을 입력해준뒤
raw JSON형식으로 DB에 추가할 정보를 입력해준다
Visual Studio Code에서 아래처럼 코드를 작성해준다
+ app.py에 경로와 리소스(API코드)를 연결하는 코드도 작성해준다
>>> api.add_resource(RecipeListResource, '/recipes')
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
코드를 작성하고 비주얼 스튜디오 코드에서 서버를 실행시키고(flask run)
포스트맨에서 Send를 클릭해 하단의 정보를 확인하고 상태코드가 200 OK 됐는지 확인한다
입력한 정보가 DB에 잘 들어갔는지도 확인하기 위해 MySQL Workbench에서 select * from recipe; 해본다
'Restful API' 카테고리의 다른 글
[Restful API] Python MySQL Connector update 해보기 (0) | 2023.01.04 |
---|---|
[Restful API] Python MySQL Connector select 해보기 (0) | 2023.01.04 |
[Restful API] python flask에서 Resource 클래스를 이용한 API 서버 개발 (0) | 2023.01.04 |
[Restful API] python flask app.py 파일 코딩 (0) | 2023.01.04 |
[Restful API] API를 테스트하기 위해 포스트맨(postman) 설치하기 (0) | 2023.01.04 |
댓글