Validador de modelo personalizado
Tienes una API para actualizar el inventario y te han pedido mostrar un mensaje de error claro cuando se introduzcan cantidades negativas.
La excepción RequestValidationError ya está precargada para ti.
Este ejercicio forma parte del curso
Implementación de IA en producción con FastAPI
Instrucciones del ejercicio
- Importa la anotación para la validación personalizada del modelo.
- Implementa una validación personalizada del modelo que se ejecute "after" de las validaciones predeterminadas del modelo.
- Lanza una excepción
RequestValidationErrorpara mostrar los errores de validación al usuario de la API.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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