Validator personalizzato del modello
Hai un'API per aggiornare l'inventario e ti è stato chiesto di mostrare un messaggio di errore chiaro quando vengono inserite quantità negative.
L'eccezione RequestValidationError è già stata importata per te.
Questo esercizio fa parte del corso
Deployment di AI in produzione con FastAPI
Istruzioni dell'esercizio
- Importa l'annotazione per la validazione personalizzata del modello.
- Implementa una validazione personalizzata del modello che venga eseguita "after" rispetto alle validazioni predefinite del modello.
- Genera un'eccezione
RequestValidationErrorper mostrare gli errori di validazione all'utente dell'API.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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