2.6.1 기본 사용법
지금까지는 엔드포인트 함수에서 파이썬의 딕셔너리를 그대로 반환했습니다. 즉, 함수 안에서 {"message": "...", "value": ...}와 같은 딕셔너리를 만들고 이를 반환하면 FastAPI가 이 값을 자동으로 JSON 형식으로 변환해 클라이언트에 전달했습니다.
서버가 응답을 보낼 때 딕셔너리를 사용하는 방법 외에도 Pydantic 모델을 활용하는 방법도 있습니다. Pydantic 모델을 사용하면 반환 데이터의 구조와 타입을 명확하게 정의하여 잘못된 데이터가 클라이언트에 전달되는 것을 방지할 수 있습니다. 또한 모델 정보가 Swagger UI에 반영되므로 API 문서 작성과 테스트가 편합니다.
응답 본문에 Pydantic 모델을 활용하려면 엔드포인트 함수의 반환값을 Pydantic 모델로 된 객체로 지정하고, 데코레이터에서 response_model 옵션으로 해당 모델을 지정하면 됩니다. main.py의 # 새 아이템 등록 코드를 다음과 같이 변경하고 저장합니다.