본문 바로가기
기타

[Python/FastAPI] 0. Overview

2023. 3. 10.

새로 이직한 회사에서 Python의 FastAPI를 사용하고 있어 FastAPI에 대해 알아보았습니다. 기존 코드를 이해하기 위해 API 구현 관련 기능들을 앞으로 알아볼 계획입니다. 이번 포스트에서는 FastAPI가 무엇인지 정리해 보았습니다.

 

FastAPI란?

  • FastAPI는 파이썬으로 API를 빌드하기 위한 웹 프레임워크이다.
  • Starlette를 사용하여 다른 파이썬 웹 프레임워크보다 빠른 성능을 보인다.

Starlette

  • 다른 파이썬 웹 프레임워크(Flast, Django 등)보다 가볍고 강력한 프레임워크이다.
  • 내부적으로 uvicorn을 사용해서 빠르다.

uvicorn

  • uvloops와 httptools를 사용하는 초고속 ASGI 서버이다.
    • ASGI: Asynchronous Server Gateway Interface

-> FastAPI는 uvicorn, Starlette를 직접 사용하는 것보다는 느리지만, 간단한 웹 어플리케이션을 만들기 위한 간편한 도구를 제공해서 생산성 측면에서 매우 도움이 된다.

 

FastAPI의 편의 기능 - API Document 자동 생성

/docs

  • 자동으로 생성된 Swagger UI API 문서를 확인할 수 있다.

/redoc

  • 자동으로 생성된 Redoc 문서를 확인할 수 있다.

/openapi.json

  • JSON으로 표현된 OpenAPI 스키마를 확인할 수 있다.
// example
{
    "openapi": "3.0.2",
    "info": {
        "title": "FastAPI",
        "version": "0.1.0"
    },
    "paths": {
        "/items/": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Successful Response",
                        "content": {
                            "application/json": {



...

 

728x90

댓글