본문 바로가기
👨‍🏫Study/Python

[Python] FastAPI 시작

by 코푸는 개발자 2021. 8. 8.
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

댓글