express-cargo: parsing de request baseado em classes
(github.com/Beyond-Imagination)express-cargo é um middleware baseado em TypeScript e no uso de decorators que organiza de forma limpa o processamento repetitivo de dados de requisição. Em vez de lidar diretamente com req.body, req.query e req.params, você pode realizar o trabalho necessário com declarações de classe e chamadas de middleware.
Como instalar
npm install express-cargo reflect-metadata
Principais recursos
- Suporte aos decorators
@body,@query,@param,@header,@session - Permite processar de uma só vez, em uma única classe, várias informações da requisição como body, query e header
- Conversão automática de tipo dos valores da request de acordo com o tipo dos campos da classe
- Validação com decorators como
@equal,@range,@length - Transformação de valores com
@transform - Definição de valores com
@virtual, referenciando valores de outros campos
Exemplo de código
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
})
Links 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
Feedback é sempre bem-vindo. Usem bastante e mandem suas opiniões.
Ainda não há comentários.