Aangepaste modelvalidator
Je hebt een API om de voorraad bij te werken en je bent gevraagd een gebruiksvriendelijke foutmelding te tonen wanneer er negatieve aantallen worden ingevoerd.
De uitzondering RequestValidationError is alvast voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
AI in productie brengen met FastAPI
Oefeninstructies
- Importeer de annotatie voor aangepaste modelvalidatie.
- Implementeer een aangepaste modelvalidatie die "after" de standaardmodelvalidaties draait.
- Raise een
RequestValidationError-uitzondering om validatiefouten zichtbaar te maken voor de API-gebruiker.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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