json_schema
app.common.middlewares.json_schema
Un Middleware (clase) para la validación del cuerpo de la peticion (request body) utilizando JSONSchema v. draft 2020-12.
Para más información, te recomendamos leer la documentación del Proyecto.
- https://json-schema.org/specification
- https://fastapi.tiangolo.com/tutorial/dependencies/
- https://fastapi.tiangolo.com/advanced/advanced-dependencies/
- https://fastapi.tiangolo.com/tutorial/body/
- https://fastapi.tiangolo.com/tutorial/dependencies/classes-as-dependencies/
ValidateSchema
Una clase utilizada como DI
, para obtener el cuerpo de la peticion (request body), validarlo con JSONSchema v. draft 2020-12
, y utilizarlo dentro de una vista (view).
Notes
- Solo está disponible para métodos
POST
yPUT
.
Raises:
Type | Description |
---|---|
HTTPException | una excepción para devolver respuestas HTTP con errores al cliente |
exceptions | excepciones generadas por |
DefaultException | excepciones para el manejo de errores personalizados |
None | en caso de un error |
Examples:
__init__(schema)
Constructor de la clase ValidateSchema
Parameters:
Name | Type | Description | Default |
---|---|---|---|
schema | dict[StrictStr, Any] | el esquema a validar | required |
__call__(request)
async
Este método permite que la instancia de esta clase, sea callable
, y de esta manera podemos "parametrizar" nuestra dependencia.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
request | Request | una instancia de | required |
Notes
Internamente:
- se utiliza el objeto
request.json()
para realizar la validación contra el esquema enviado. - se utiliza
request.method
para realizar otras validaciones
Raises:
Type | Description |
---|---|
HTTPException | una excepción para devolver respuestas HTTP con errores al cliente |
DefaultException | excepciones para el manejo de errores personalizados |
None | en caso de un error |
Returns:
Type | Description |
---|---|
Optional[dict[str, Any]] | el cuerpo de la petición (request body), usualmente como un |