Anpassad modellvalidering
Du har ett API för att uppdatera lagersaldo och har fått i uppgift att visa ett användarvänligt felmeddelande när negativa kvantiteter anges.
Undantaget RequestValidationError är redan inläst åt dig.
Den här övningen är en del av kursen
Driftsättning av AI i produktion med FastAPI
Övningsinstruktioner
- Importera annotationen för anpassad modellvalidering.
- Implementera en anpassad modellvalidering som körs
"after"standardvalideringarna. - Anropa ett
RequestValidationError-undantag för att visa valideringsfel för API-användaren.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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