#5. Flask-Restful 을 이용하여 API 호출

FirstValue·2023년 3월 17일
0

5.1. server.py에 API Resource을 추가

flask_restful에서 제공되는 add_resource 함수를 통해 api 호출 시 실행되는 class을 지정한다.

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 테스트

5.2. API 테스트

☑︎ POST /api/link/create - 링크정보 등록

Body에 JSON으로 데이터를 넣고 진행해보자


message을 정상적으로 return받으면 된다.

☑︎ 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가 완성되었으므로, FRONT-END에서 실제 화면을 구현을 해보고, 아직까지 DB및 API설계에 빠진 것은 화면을 개발하면서 추가적으로 제작해보기로 한다.


DB에 대한 API의 기본은 이 내용으로 해서 참고하여 어떠한 내용도 개발이 가능할것으로 생각된다. 참고 자료로 활용하면 좋을듯 하다.


다음편에는 React로 프론트엔드 개발을 해보자.

profile
개발은 개~발이 아니길 바라는 아재

0개의 댓글