커스텀 모델 유효성 검사기
재고를 업데이트하는 API가 있습니다. 사용자가 음수 수량을 입력했을 때 알기 쉬운 오류 메시지를 표시하도록 요청받았습니다.
RequestValidationError 예외는 미리 로드되어 있습니다.
이 연습은 강의의 일부입니다
FastAPI로 AI 프로덕션 배포하기
연습 안내
- 커스텀 모델 유효성 검사를 위한 어노테이션을 임포트하세요.
- 기본 모델 유효성 검사가 완료된
"after"시점에 실행되는 커스텀 모델 유효성 검사를 구현하세요. - API 사용자에게 유효성 검사 오류를 전달하기 위해
RequestValidationError예외를 발생시키세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import annotation for custom validation
from pydantic import BaseModel, ____
class InventoryRecord(BaseModel):
name: str
quantity: int
# Create custom validator that runs after default validation
@model_validator(mode="____")
def validate_after(self):
if len(self.quantity) < 0:
# Raise request validation error
raise ____(
"Negative quantity is not allowed!"
)
return self