Niestandardowy walidator modelu
Masz API do zarządzania stanem magazynu. Zostałeś poproszony o wyświetlenie przyjaznego komunikatu o błędzie, gdy użytkownik poda ujemną ilość.
Wyjątek RequestValidationError został już wcześniej zaimportowany.
To ćwiczenie jest częścią kursu
Wdrażanie AI na produkcję z FastAPI
Instrukcje do ćwiczenia
- Zaimportuj adnotację służącą do niestandardowej walidacji modelu.
- Zaimplementuj niestandardową walidację modelu, która uruchamia się
"after"domyślnych walidacji. - Wywołaj wyjątek
RequestValidationError, aby przekazać błędy walidacji do użytkownika API.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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