728x90
FastAPI란?
FastAPI는 고성능의 배우기 쉽고, 빠르게 코딩 가능한 프레임 워크입니다.
장점
- 빠른 속도: Nodejs 및 Golang과 동등한 매우 높은 성능 (Starlette 및 Pydantic)
- 사용 가능한 가장 빠른 Python 프레임 워크 중 하나
- 높은 생산성: 개발 속도가 2배~3배 증가
- 적은 버그: 개발자의 실수가 40% 감소
- 직관적: 훌륭한 편집기 지원. 자동 완성. 디버깅 시간 감소
- 쉬움: 사용하고 배우기 쉽게 설계되었습니다. 문서를 읽는 시간이 단축
- 짧음: 각 매개 변수 선언의 여러 기능, 더 적은 버그 그리고 코드 중복을 최소화
- 견고함: 생산 준비 코드를 가져옵니다. 자동 대화형 설명서 사용
- 표준 기반: OpenAPI (이전에는 Swagger라고 함) 및 JSON 스키마를 기반으로 하며 완전히 호환
연습예시)
from typing import Optional
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: Optional[str] = None):
return {"item_id": item_id, "q": q}
실행
uvicorn main:app --reload
http://127.0.0.1:8000/items/507?q=query 이와 같이 검색
- 다음과 같은 API를 만들었습니다.
- 경로 / 및 /items/{item_id}에서 HTTP 요청 수신
- 두 경로 모두 GET 작업 (HTTP 메서드라고도 함) 사용
- 경로 /items/{item_id}에는 int 여야 하는 경로 매개 변수 item_id
- 경로 /items/{item_id}에는 선택적 str 쿼리 매개 변수
728x90
'👨🏫Study > Python' 카테고리의 다른 글
[Python] FastAPI 학습 (0) | 2021.08.12 |
---|---|
[Python] 비동기(asyncio) (0) | 2021.08.07 |
댓글