Notice
Recent Posts
Recent Comments
Link
뭐야 왜 an 돼
Flask로 RESTful API 서버 개발, Resource 클래스 활용 본문
클래스는 변수와 함수로 구성된 묶음이며
API를 만들기 위해서는 flask_restful 라이브러리의 Resource 클래스를 상속해야 합니다.
from flask import request
from flask_restful import Resource
from mysql_connection import get_connection
from mysql.connector import Error
class RecipeListResource(Resource):
def post(self):
# 1. 클라이언트가 보내준 데이터가 있으면 그 데이터를 받아준다.
data = request.get_json()
# 2. 이 정보를 DB에 저장한다.
try:
### 1. DB에 연결
connection = get_connection()
### 2. 쿼리문 만들기
query = '''insert into recipe
(name, description, num_of_servings, cook_time, directions)
values
(%s, %s, %s, %s, %s);'''
### 3. 쿼리에 매칭되는 변수 처리 => 튜.플.로.
record = (data['name'], data['description'], data['num_of_servings'], data['cook_time'], data['directions'])
### 4. 커서를 가져온다.
cursor = connection.cursor()
### 5. 쿼리문을 커서로 실행한다.
cursor.execute(query, record)
### 6. DB에 완전히 반영하기 위해서는 commit 한다.
connection.commit()
### 7. 자원 해제
cursor.close()
connection.close()
except Error as e:
if cursor is not None:
cursor.close()
if connection is not None:
connection.close()
return {'result' : 'fail', 'error' : str(e)}, 500
return {'result' : 'success'}
API를 처리하는 함수를 개발할 때는 HTTP Method에 따라서 동일한 기능을 제공해야 합니다.
쿼리문은 MySQL Workbench에서 먼저 테스트하고 코드를 복사하여 붙여넣는 것이 좋습니다.
'RESTful API' 카테고리의 다른 글
| RESTful API로 레시피 목록 가져오기: Python과 Flask 활용(Selecet) (0) | 2024.05.21 |
|---|---|
| Python을 사용한 MySQL 데이터베이스 연결 설정 (0) | 2024.05.21 |
| Python MySQL Connector insert 하는 방법 (Flask,Post man) (0) | 2024.05.21 |
| API 경로와 Resource 클래스 연결하는 법 (0) | 2024.05.20 |
| 플라스크, RESTful 프레임워크와 라이브러리 설치 하는 방법 (0) | 2024.05.20 |