express-cargo : parsing des requêtes basé sur des classes
(github.com/Beyond-Imagination)express-cargo est un middleware basé sur TypeScript, utilisant des décorateurs, qui permet d’organiser proprement le traitement répétitif des données de requête. Au lieu de manipuler directement req.body, req.query et req.params, vous pouvez effectuer les opérations nécessaires via une déclaration de classe et un appel de middleware.
Installation
npm install express-cargo reflect-metadata
Principales fonctionnalités
- prise en charge des décorateurs
@body,@query,@param,@header,@session - possibilité de traiter en une seule fois diverses informations de requête comme le body, la query et les headers dans une seule classe
- conversion automatique du type des valeurs de requête selon le type des champs de la classe
- validation via des décorateurs comme
@equal,@range,@length - transformation des valeurs avec
@transform - définition de valeurs en référençant d’autres champs avec
@virtual
Exemple de code
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
})
Liens associés
- github : https://github.com/Beyond-Imagination/express-cargo
- npm : https://www.npmjs.com/package/express-cargo
- docs : https://beyond-imagination.github.io/express-cargo
Tous les retours sont les bienvenus. N’hésitez pas à l’utiliser largement et à partager votre avis.
Aucun commentaire pour le moment.