Benutzerdefinierter Model-Validator
Du hast eine API zum Aktualisieren des Inventars und sollst eine nutzerfreundliche Fehlermeldung anzeigen, wenn negative Mengen eingegeben werden.
Die Exception RequestValidationError wurde bereits für dich vorab geladen.
Diese Übung ist Teil des Kurses
KI in der Produktion mit FastAPI bereitstellen
Anleitung zur Übung
- Importiere die Annotation für eine benutzerdefinierte Modellvalidierung.
- Implementiere eine benutzerdefinierte Modellvalidierung, die "after" (nach) den Standardvalidierungen ausgeführt wird.
- Löse eine Exception vom Typ
RequestValidationErroraus, um Validierungsfehler für den API-User sichtbar zu machen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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