반응형
플라스크를 사용하여 Python의 데이터베이스 연동 GET, POST, PUT 및 DELETE 작업을 구현하는 REST API를 만드는 방법입니다.
from flask import Flask, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)
class Data(db.Model):
id = db.Column(db.Integer, primary_key=True)
column1 = db.Column(db.String(80))
column2 = db.Column(db.String(80))
def __init__(self, column1, column2):
self.column1 = column1
self.column2 = column2
db.create_all()
@app.route('/data', methods=['GET', 'POST'])
def data():
if request.method == 'GET':
data = Data.query.all()
return {'data': [{'id': d.id, 'column1': d.column1, 'column2': d.column2} for d in data]}
elif request.method == 'POST':
data = request.get_json()
new_data = Data(column1=data['column1'], column2=data['column2'])
db.session.add(new_data)
db.session.commit()
return {'message': 'Data added'}
@app.route('/data/<id>', methods=['GET', 'PUT', 'DELETE'])
def single_data(id):
data = Data.query.get(id)
if request.method == 'GET':
return {'data': {'id': data.id, 'column1': data.column1, 'column2': data.column2}}
elif request.method == 'PUT':
data_update = request.get_json()
data.column1 = data_update['column1']
data.column2 = data_update['column2']
db.session.commit()
return {'message': 'Data updated'}
elif request.method == 'DELETE':
db.session.delete(data)
db.session.commit()
return {'message': 'Data deleted'}
if __name__ == '__main__':
app.run(debug=True)
SQLite 데이터베이스에 대한 REST API 끝점을 구현하는 Flask 응용 프로그램을 만듭니다. 데이터 모델은 Flask-SQLAlchemy를 사용하여 정의됩니다. LAchemy 및 데이터베이스 테이블은 db.create_all()을 사용하여 생성됩니다.
반응형
'Spring Boot' 카테고리의 다른 글
[SpringBoot] Thumbnailator 라이브러리를 사용하여 Spring Boot 환경에서 이미지 자르기를 구현하는 방법 (0) | 2023.02.09 |
---|---|
[SpringBoot]Spring Boot 환경에서 이미지 크기 조정 (0) | 2023.02.09 |
[PHP] php api 구현 PDO를 사용하여 PHP에서 데이터베이스 작업(GET, POST, PUT, DELETE)을 통합하는 방법 (0) | 2023.02.09 |
[SpringBoot] MyBatis로 트랜잭션 관리 (0) | 2023.02.09 |
[PHP] PHP를 사용하여 데이터베이스에서 데이터를 검색하는 간단한 API를 구현하는 방법 (0) | 2023.02.09 |