Fast API란?

Junha Kim·2021년 1월 3일
4

FastAPI

목록 보기
1/16

https://fastapi.tiangolo.com/

Fast API는 현재 파이썬 웹 프레임워크 중 가장 빠른 것 중 하나이며, type hints를 제공한다.

주요 특징은 아래와 같다.

  • Fast: NodeJS 및 Go와 동등한 높은 성능. 가장 빠른 Python 프레임워크 중 하나. ⇒ Starlette 및 Pydantic
  • Fast to code
  • Fewer bugs
  • Intuitive
  • Easy: 배우기 쉽고, 문서를 쉽게 읽을 수 있음
  • Short: 코드 중복 적음. 파라미터 정의에 다양한 기능 제공
  • Robust: 문서 자동화 및 쉬운 배포
  • Standards-based: 개방형 API 표준, JSON Schema를 기반

Automatic Documentation

Fast API의 장점 중 하나는 자동으로 API Documentation을 지원해준다는 것이다.

서버를 실행시키고, /docs 로 url를 접속하면 아래와 같은 Swagger UI가 만들어진다.

또한, alternative docs로 /redoc 로 들어가면, 아래와 같은 UI도 확인할 수 있다.


Easy to Debug

또 다른 장점 중 하나는 파라미터의 타입을 명시할 수 있다는 것이다.

→ 파이썬 type hints를 채택

이로 인해 Type Check를 할 수 있으며, data의 validation을 자동으로 해주고 오류 시 error를 자동으로 생성한다.

from typing import List, Dict
from datetime import date

from pydantic import BaseModel

# Declare a variable as a str
# and get editor support inside the function
def main(user_id: str):
    return user_id


# A Pydantic model
class User(BaseModel):
    id: int
    name: str
    joined: date

0개의 댓글