#6. Python으로 API 개발(데이타베이스 모델 작업)
이전 포스팅에 데이타베이스 모델링 작업을 했고, 여기서는 server.py에 flask_restful에서 제공되는
API Resource을 추가해 보자.
⌘ server.py ( 위치: linkservice/server/server.py)
----------------------------------------------------------------------------------------------------------
기존 server.py 에 추가해보자.
import socket
from config.create_app import create_app
from flask import Flask
#flask_restful에서 API와 src 밑에 links.py에 class들을 import 한다.
from flask_restful import Api
from src.links import LinkRegister, LinksAll, LinkSelect, LinkRemove, LinkUpdate
from db_init import db
env = socket.gethostbyname(socket.gethostname())
if 'linkservice.com' in env :
app = create_app('production')
else:
app = create_app('development')
# print(app.config)
# API 선언
api = Api(app)
#API에 Resource를 추가한다.
api.add_resource(LinkRegister, '/api/link/create')
api.add_resource(LinksAll, '/api/links')
api.add_resource(LinkSelect, '/api/link/select/<int:id>')
api.add_resource(LinkRemove, '/api/link/delete/<int:id>')
api.add_resource(LinkUpdate, '/api/link/update/<int:id>')
if __name__ == "__main__":
# ORM
db.init_app(app)
app.run(debug=True, port=5000)
저장 후 이제 실행해서 확인해보자.
⎮실행방법
1. 터미널에서 가상화 실행 ( source ./bin/activate )
2. python3 server.py 실행
3. POSTMAN에서 API 테스트
실행후 POSTMAN에서 테스트를 해보자.
1.1. API 테스트
☑︎ POST /api/link/create - 링크정보 등록
Body에 JSON으로 데이터를 넣고 진행해보자.
message을 정상적으로 return 받는지 확인한다.
☑︎ GET /api/links – 전체 링크정보 조회
☑︎ GET /api/link/select/<int:id> - ID에 해당한 링크정보조회
☑︎ PUT /api/link/update/<int:id> - name을 수정해보자.
☑︎ DELETE /api/link/delete/<int:id> - ID에 해당한 링크정보 삭제
LINKS 테이블에 대한 CRUD API가 완성되었다.
주요 테이블인 LINKS의 CRUD API가 완성되었으므로, 프론트엔드에서 실제 화면을 구현을 해보고, 아직까지 DB및 API설계에 빠진 것은 화면을 개발하면서 추가적으로 제작해 보기로 한다.
'React&Python으로 웹개발 > 링크서비스' 카테고리의 다른 글
#8. 프론트엔드 화면개발 (component 제작) (0) | 2023.03.17 |
---|---|
#7. 프론트엔드 화면 개발 (0) | 2023.03.16 |
#6. Python으로 API 개발(데이타베이스 모델 작업) (0) | 2023.03.10 |
#5. Python으로 API 개발(기본환경구성) (0) | 2023.03.09 |
#5. Python으로 API 개발 (0) | 2023.03.09 |