[python] FastAPI와 Pydantic을 이용한 데이터 유효성 검사

FastAPI는 Python으로 빠르고 현대적인 웹 애플리케이션을 개발하는 데 사용되는 빠르고 현대적인 웹 프레임워크입니다. Pydantic은 데이터 유효성 검사를 쉽게 처리할 수 있는 Python 라이브러리입니다. 이번 블로그에서는 FastAPI와 Pydantic을 함께 사용하여 데이터 유효성 검사를 구현하는 방법에 대해 알아보겠습니다.

개발 환경 설정

우선 FastAPI를 설치합니다.

pip install fastapi

그리고 Pydantic도 설치합니다.

pip install pydantic

Pydantic을 이용한 데이터 모델 정의

Pydantic을 사용하면 데이터의 유효성을 검사하기 위한 모델을 정의할 수 있습니다. 이를 통해 입력된 데이터를 쉽게 처리하고 검증할 수 있습니다. 아래는 Pydantic을 사용하여 간단한 유저 모델을 정의한 예시입니다.

from pydantic import BaseModel

class User(BaseModel):
    id: int
    username: str
    email: str

위의 예시에서는 User 모델을 정의하고 각 필드에 대한 유효성을 지정하였습니다. 이제 FastAPI를 이용하여 이 모델을 활용해보겠습니다.

FastAPI와 Pydantic을 함께 사용하기

FastAPI를 이용하여 Pydantic 모델을 데이터 유효성 검사에 활용할 수 있습니다. 아래는 FastAPI를 사용하여 유저 정보를 입력받고 유효성을 검사하는 간단한 예시입니다.

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    id: int
    username: str
    email: str

@app.post("/users/")
async def create_user(user: User):
    return {"user": user}

위의 예시에서 create_user 함수는 User 모델을 인자로 받아 사용하고 있습니다. FastAPI는 자동으로 유효성 검사를 수행하며, 유효하지 않은 데이터가 전달되면 오류를 반환합니다.

결론

FastAPI와 Pydantic을 함께 사용하면 데이터 유효성 검사를 간편하게 처리할 수 있습니다. Pydantic의 강력한 기능과 FastAPI의 뛰어난 성능을 결합하여 안정적이고 효율적인 웹 애플리케이션을 개발할 수 있습니다.

참고문헌: