-
Python3 Flask를 이용해서 Rest-API Server 만들기!Programming/Python 2022. 6. 26. 21:39반응형
Flask란?
https://justkode.kr/python/flask-restapi-1
플라스크(Flask)는 파이썬으로 작성된 마이크로 웹 프레임워크의 하나로, Werkzeug 툴킷과 Jinja2 템플릿 엔진에 기반을 둔다. BSD 라이선스이다.
플라스크의 최신 안정판은 2017년 5월 기준으로 1.1.1이다.[2] 플라스크 프레임워크를 사용하는 애플리케이션에는 핀터레스트,[3] 링크드인,[4] 플라스크 자체를 위한 공동체 웹 페이지를 포함한다.[5]
플라스크는 특별한 도구나 라이브러리가 필요 없기 때문에 마이크로 프레임워크라 부른다.[6] 데이터베이스 추상화 계층, 양식 유효성 확인, 기타 기존의 서드파티 라이브러리가 공통 기능을 제공하는 구성 요소가 없다. 그러나 플라스크는 플라스 자체에서 구현된 것처럼 애플리케이션 기능을 추가할 수 있는 확장 기능을 지원한다. 확장 기능은 객체 관계 매퍼, 양식 유효성 확인, 업로드 관리, 다양한 개방형 인증 기술, 여러 공통 프레임워크 관련 도구들을 위해 존재한다. 확장 기능들은 코어 플라스크 프로그램에 비해 훨씬 더 정기적으로 업데이트된다.[7]
Micro Web Service
(굉장히 작은 웹 서비스..)
왜 쓰는지는 생각을 해보면 대부분 개발자들은 딥러닝 모델을 서빙하기 위해, 처음 접하는 API 프레임워크 입니다.
블로그를 포스팅한 이유는 머신러닝 모델 및 딥러닝 모델을 서빙하는 방법을 공유하기 위해서 입니다.
Flask를 사용하기 위해서는 기본적으로 Rest-API의 개념을 알고가야 합니다.
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
실제로 자주 쓰이는 Method는 Get과 Post 뿐...
실습 코드
from flask import Flask, request import time count = [] app = Flask(__name__) @app.route('/check', methods=['GET']) def count_check(): return {"count": count} @app.route('/', methods=['GET', 'POST']) def main(): if request.method == 'GET': # return {'post-test': 'get test is good'} return {'post-test': 'get test is good'} elif request.method == 'POST': if len(count) < 3: count.append('user') response_json = request.get_json() if 'file' in response_json.keys(): text = f"-- response json!!! data : {response_json['file']}" else: text = '-- not response json' time.sleep(3) count.pop() return {'test': f'post test is good {text}'} else: return {'error': 'user is full'} if __name__ == '__main__': app.run(host='0.0.0.0', port=8000, debug=True)
위 코드는 유저를 딱 3명까지만 접근 가능하게 해놓은 테스트 코드입니다.
반응형'Programming > Python' 카테고리의 다른 글
Python 3.11.4 Base Docker Image 만들기 (0) 2023.07.14 Python FastAPI를 이용해서 빠르게 API 환경 구축하기 (0) 2022.07.28 python 시간 계산 (0) 2022.04.20 Python argparse 사용하기! (터미널에서 python을 실행할 때, 옵션을 쉽게주자) (0) 2021.05.28 [matplotlib]플롯의 특정 부분만 색상 변경하기 (0) 2021.04.06