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
POSTyPUT.
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.methodpara 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 |