express-cargo: parsing de requests basado en clases
(github.com/Beyond-Imagination)express-cargo es un middleware basado en TypeScript y con enfoque de decoradores que organiza de forma limpia el procesamiento repetitivo de datos de solicitudes. En lugar de manejar directamente req.body, req.query y req.params, puedes realizar las tareas necesarias con declaraciones de clases y llamadas al middleware.
Instalación
npm install express-cargo reflect-metadata
Características principales
- Soporte para decoradores
@body,@query,@param,@header,@session - Posibilidad de procesar de una sola vez en una misma clase distinta información de la solicitud, como body, query y header
- Conversión automática del tipo de los valores del request según el tipo de los campos de la clase
- Validación con decoradores como
@equal,@range,@length - Transformación de valores usando
@transform - Configuración de valores referenciando otros campos con
@virtual
Código de ejemplo
class RequestExample {
@body()
name!: string
@body()
@min(0)
age!: number
@params()
id!: number
@header()
authorization!: string
}
app.post('/:id', bindingCargo(RequestExample), (req, res) => {
const data = getCargo<RequestExample>(req)
// write your code with bound data
})
Enlaces relacionados
- github : https://github.com/Beyond-Imagination/express-cargo
- npm : https://www.npmjs.com/package/express-cargo
- docs : https://beyond-imagination.github.io/express-cargo
La retroalimentación siempre es bienvenida. Pruébenlo bastante y compártanme sus opiniones.
Aún no hay comentarios.