#6. Python으로 API 개발(데이타베이스 모델 작업)

 

#6. Python으로 API 개발(데이타베이스 모델 작업)

#5. Python으로 API 개발(기본환경구성) #5. Python으로 API 개발(기본환경구성) ⌘ server.py ( 위치: linkservice/server/server.py) --------------------------------------------------------------------------------------------------- app.py

firstvalue.tistory.com

 

이전 포스팅에 데이타베이스 모델링 작업을 했고, 여기서는  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 - 링크정보 등록

          BodyJSON으로 데이터를 넣고 진행해보자.

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가 완성되었으므로, 프론트엔드에서 실제 화면을 구현을 해보고, 아직까지 DBAPI설계에 빠진 것은 화면을 개발하면서 추가적으로 제작해 보기로 한다.

+ Recent posts