Validator personalizat de model
Ai un API pentru actualizarea inventarului și ți s-a cerut să afișezi un mesaj de eroare ușor de înțeles atunci când sunt introduse cantități negative.
Excepția RequestValidationError a fost preîncărcată pentru tine.
Acest exercițiu face parte din cursul
Deployment AI în producție cu FastAPI
Instrucțiuni pentru exercițiu
- Importă adnotarea pentru validarea personalizată a modelului.
- Implementează o validare personalizată a modelului care rulează
"after"validările implicite. - Ridică o excepție
RequestValidationErrorpentru a transmite erorile de validare utilizatorului API-ului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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