[python] FastAPI 개요

FastAPI는 Python에서 빠르고 현대적인 웹 프레임워크입니다. 이 프레임워크는 Python의 성능을 최대한 활용하면서 간단하고 직관적인 API를 개발할 수 있도록 해줍니다.

주요 특징

빠른 속도

FastAPI는 Starlette라는 고성능 ASGI(Asynchronous Server Gateway Interface) 웹 프레임워크 위에서 동작하며, 현대적인 Python 3.7+에서 사용 가능한 코루틴 기능을 활용하여 매우 빠른 속도를 제공합니다.

자동 문서화 지원

FastAPI는 OpenAPI 및 JSON Schema 기반으로 API 문서화를 자동으로 처리합니다. 따라서 코드 작성 시 Docstring을 사용하여 API에 대한 설명을 작성하면, FastAPI가 이를 기반으로 API 문서를 자동 생성합니다.

유형 힌트 지원

Python의 유형 힌트를 활용하여 FastAPI는 강력한 데이터 유효성 검사와 입력 변환을 지원합니다. 이를 통해 개발자는 입력 값의 유효성을 검사하고 필요한 경우 자동으로 변환할 수 있습니다.

WebSocket 지원

FastAPI는 HTTP 요청 외에도 WebSocket을 지원하여 실시간 통신을 구현할 수 있습니다. 따라서 실시간 알림, 채팅 애플리케이션 등을 간단하게 개발할 수 있습니다.

기타 기능

FastAPI는 많은 기능을 제공하지만 여기에는 제한된 공간이므로 전부 다루지 않겠습니다. FastAPI는 Pydantic과 함께 작동하여 강력한 데이터 유효성 검사와 입력 변환을 제공합니다. 또한, FastAPI는 OAuth 및 JWT( JSON Web Tokens) 인증, 비동기 작업 및 데이터베이스 지원과 같은 다양한 기능을 제공합니다.

사용 예시

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def hello_world():
    return {"message": "Hello, World!"}

위의 코드는 FastAPI를 사용하여 간단한 “Hello, World!”를 반환하는 API를 구현한 예시입니다. 이렇게 간단한 코드로도 빠르고 효율적인 API를 개발할 수 있습니다.

참고 자료