티스토리 뷰
728x90
반응형
FastAPI
- FastAPI란 빠르고 간단한 python 기반의 웹 프레임워크이다.
- 비동기 방식을 사용하기 때문에 Uvicorn이나 Hypercorn의 ASGI Server가 필요하다.
- 예제에서는 Uvicorn을 사용하려 한다.
1) FastAPI 및 Uvicorn 설치
pip install fastapi
pip install "uvicorn[standard]"
2) main.py 예제 파일 생성하기
from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
* 여기서 typling 라이브러리는 Union 타입을 정의하기 위해 불러왔으며, 예제에는 여러 개의 타입(str, None)이 허용될 수 있는 사용에서 Union이 사용되었다. (별도 제약이 생기진 않음)
3) 서버 실행하기
uvicorn main:app --reload
- main은 main.py 파일을 의미한다.
- app은 app=FastAPI()에서 생성된 app 인스턴스를 의미한다.
- -- reload는 코드가 수정되면 재시작하는 것을 의미한다. 따라서 개발환경에서만 사용을 권장하고 있다. (Flask의 debug와 유사)
4) 브라우저 확인하기
- 브라우저로 http://127.0.0.1:8000/items/5?q=test를 열어보면 아래와 같은 json 응답을 받을 수 있다.
- 브라우저로 http://127.0.0.1:8000/docs를 열어보면 자동 대화형 API 문서를 확인할 수 있다.
- Try it out 버튼을 누르면 매개변수를 채울 수 있고, Execute 버튼을 누르면 API와 통신하고 매개변수를 전송하여 결과를 가져와 화면에 표기해 준다.
- 또한, http://127.0.0.1:8000/redoc을 확인해 보면 자동으로 생성된 API에 대한 documentation를 확인 수 있다.
참고문헌
728x90
반응형
'Study > Ect' 카테고리의 다른 글
[MySQL] MySQL 설치하기 (윈도우 / windows) (0) | 2024.07.05 |
---|---|
[Python] 구글 드라이브 링크로 파일 다운 받기 (gdown / gdrive dataset) (0) | 2023.06.09 |
[Python] 압축 폴더 해제하는 방법 (zip 압축 풀기) (0) | 2023.06.09 |
[Python] Colab에서 아래한글(hwp) 문서 엑셀/csv 파일로 저장하기 (0) | 2023.05.05 |
[Python] Colab에서 아래한글(hwp) 문서 읽기 (2) | 2023.05.02 |
댓글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
TAG
- Prefix sum
- 이분 그래프
- Transformer
- Algorithm
- 누적합
- 백준
- 분리집합
- 1202
- pytorch
- lis
- dfs
- 알고리즘
- disjoint set
- Look-ahead Mask
- DP
- 수학
- 코딩테스트실력진단
- 트랜스포머
- 코드트리
- 이분탐색
- 구현
- python
- 우선순위큐
- 그리디
- 파이썬
- greedy
- bipartite graph
- padding mask
- COLAB
- boj
링크