728x90

Framework/Flask 4

[flask] flask-restx로 간편하게 Swagger 지원하기

1. pip install flask_restx 로 설치 2. from flask_restx import Namespace, Api, Resource 로 불러오기 3. 함수 내용을 Resource를 상속받은 객체로 변경 4. ns = Namespace('{endpoint}', description='') 로 선언 (blueprint 와 같은 기능) 4. @app -> @ns 로 변경 5. app 감싸기 app = Flask(__name__) api = Api(app) api.add_namespace(ns) app.run(host='0.0.0.0', debug=True) 6. swagger 결과 확인 기존 코드 예시 from flask import Flask app = Flask(__name__) @app..

Framework/Flask 2022.02.07

[Flask] Flask rest API 라이브러리 비교

TL:DR (요약) flask-restful 라이브러리로 Flask-restful, flask-restplus, flask-restx 3가지 종류가 존재한다. Flask-restful은 꾸준히 업데이트를 하고 있는 반면에, restplus는 어느 시점에 업데이트가 끊겨서 restx가 restplus를 이어받아 업데이트하고 있다. Swagger 쓸거면 restx, 상관없으면 restful 쓰자! 1. 업데이트, Star 비교 Flask-Restful Flask-restful은 6K, 2021년에도 업데이트 지원중인 것을 볼 수 있다. Flask-restplus 2.5K, 2019년 이후로 업데이트가 멈춘 것으로 보인다. Flask-restX 1.1K, 홈페이지에 업데이트 기록은 없으나 깃허브를 보면 꾸준히..

Framework/Flask 2021.05.13

[Flask] numpy array to json 변환 후 전송

TL;DR(Too Long, Didn't Read) - 3줄 요약 1. requests를 이용한 post 테스트 시, header를 잘 확인해야 한다 (이미지는 image/jpeg 인데, application/json 으로 보내면 보통 에러가 난다) 2. ndarray.tobytes()나 opencv를 이용해 로 bytes 형태로 보낼 수도 있고, 파일 통째로 보내는 것도 가능하다. 3. 굳이 application/json 형태로 보내고 싶다면 인코딩/디코딩을 잘 해야한다. ps. application/json 형태로 보낸 것보다, bytes형태로 보낸 게 속도가 더 빠르다 (당연한 얘기인가?) 서론 저의 경우는 플라스크를 이용해 이미지를 보내려고 하는데 문제가 생겨서 검색해봤습니다. 처음 시도는 ope..

Framework/Flask 2021.05.12
728x90