Пользовательский валидатор модели
У вас есть API для обновления данных об инвентаре. Вас попросили выводить понятное сообщение об ошибке, если пользователь вводит отрицательное количество.
Исключение RequestValidationError уже загружено в среду.
Это упражнение является частью курса
Развёртывание ИИ в производственной среде с помощью FastAPI
Инструкции к упражнению
- Импортируйте аннотацию для пользовательской валидации модели.
- Реализуйте пользовательскую валидацию модели, которая выполняется
"after"стандартных проверок. - Вызовите исключение
RequestValidationError, чтобы передать ошибку валидации пользователю API.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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