5.1.3 Pydantic
Pydantic은 파이썬의 타입 힌트(type hint)를 적극 활용하여 데이터가 주어졌을 때 해당 데이터가 기대한 형태로 잘 들어왔는지, 누락된 정보는 없는지, 형식이 올바른지 등을 손쉽게 검증해 주는 데이터 구조체 도구입니다. 특히 FastAPI에서 기본 탑재되어 FastAPI를 사용한다면 자연스레 사용하게 됩니다.
보통 우리는 애플리케이션을 개발할 때, 종종 외부에서 주어지는 데이터(예 웹 요청의 JSON, 환경 변수, 파일 입력, 데이터베이스 데이터 등)를 처리해야 합니다. 이때 입력되는 데이터가 우리가 기대한 형태와 다르거나, 필수 필드가 비어 있거나, 데이터 타입이 맞지 않다면 문제가 발생할 수 있습니다. 과거에는 이런 검증 과정을 수작업으로 짜는 경우가 많았는데, 코드가 복잡하고 가독성도 떨어지기 십상입니다. 그래서 등장한 것이 Pydantic입니다.
Pydantic과 비슷한 도구가 파이썬에 내장되어 있습니다. 바로 dataclass인데요. Pydantic은 dataclass나 typing 모듈에서 영감을 받아 모델 클래스를 정의하고, 이 모델에 들어갈 필드에 타입 힌트를 붙입니다. 그러면 Pydantic은 객체를 생성할 때 자동으로 해당 타입에 맞게 변환하거나 오류를 발생시킵니다. 즉, 타입 안전성과 검증을 손쉽게 확보할 수 있게 해 줍니다.