Власний валідатор моделі
У вас є API для оновлення запасів, і вас попросили показувати зрозуміле повідомлення про помилку, коли вводяться від'ємні кількості.
Виняток RequestValidationError уже підключено для вас.
Ця вправа є частиною курсу
Розгортання AI у продакшні з 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