Flask RESTful API - DELETE /stores/{store_id} (매장정보삭제)
2019. 7. 3. 16:12ㆍPython/Flask
반응형
DELETE /stores/<int:store_id>
매장 정보 삭제
Resource URL
http://localhost:5000/stores/<int:store_id>
Request
http://localhost:5000/stores/<int:store_id>
소스코드 작성
소스코드 작성은 다음과 같이 작성한다.
- Model 파일에 매장상세정보 조회 메소드 추가
- Resource 파일에 매장상세정보 조회 메소드 추가
- app.py 매장상세정보 Resource 정보 등록
store.py - Model
@classmethod def delete_by_store_id(self, store_id): db.session.query(self).filter_by(store_id=store_id).delete(synchronize_session=False) db.session.commit()
store.py - Resource
""" DELETE /store/<int:store_id> - 매장 상세 정보 조회 """ class StoreRemove(Resource): def delete(self, store_id): # 매장 상세 정보 조회 store = StoreModel.find_store_by_store_id(store_id) # 매장명 설정 store_name = store.store_name # 매장 상세 정보 삭제 StoreModel.delete_by_store_id(store_id) return {'message':'{} 매장 정보가 삭제 되었습니다.'.format(store_name)},201
app.py
import os import psycopg2 from flask import Flask from flask_restful import Api from flask_sqlalchemy import SQLAlchemy from config import app_config from resources.store import StoreRegister,StoresRegister,Stores,Store,StoreRemove # set_env.bat 에서 설정한 application 이름 설정 app = Flask(os.getenv('FLASK_APP')) # set_env.bat 에서 설정한 FLASK_ENV는 development env_name = os.getenv('FLASK_ENV') """ app_config 는 config.py 에서 정의 app_config 이면 위에서 development를 설정하였기 때문에 config.py 의 Development 클래스의 정보가 설정 되게 된다. """ app.config.from_object(app_config[env_name]) # 데이터 변경사항에 대해 커밋 전후로 알림 여부 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # Query Debug 여부 app.config['SQLALCHEMY_ECHO'] = False """ API Resource 등록 --------------------------------------------------------- POST /stores/create - 매장 등록 PATCH /stores - 벌크 매장 등록 GET /stores - 매장목록 조회 GET /stores/<int:store_id> - 매장정보수정 DELETE /stores/<int:store_id>- 매장정보삭제 """ api = Api(app) api.add_resource(StoreRegister, '/stores/create') api.add_resource(StoresRegister, '/stores') api.add_resource(Stores, '/stores/search') api.add_resource(Store, '/stores/<int:store_id>') api.add_resource(StoreRemove, '/stores/<int:store_id>') if __name__ == "__main__": from db_init import db db.init_app(app) app.run(debug=True,port=5000)
반응형
'Python > Flask' 카테고리의 다른 글
Flask + 머신러닝 모델 연동하기-모델 작성 (0) | 2020.09.20 |
---|---|
Flask + 머신러닝 모델 연동하기-개요 (0) | 2020.09.13 |
Flask RESTful API - GET /stores/{store_id} (매장상세정보조회 및 평점업데이트) (0) | 2019.07.03 |
Flask RESTful API - GET /stores/search (매장검색) (0) | 2019.07.03 |
Flask RESTful API - PATCH /stores (현재 위치 기준 지정한 반경내 모든 매장 정보 등록) (0) | 2019.07.03 |