express-cargo klassenbasiertes Request-Parsing
(github.com/Beyond-Imagination)express-cargo ist eine TypeScript-basierte Middleware im Decorator-Stil, die wiederkehrende Verarbeitung von Request-Daten sauber strukturiert. Anstatt req.body, req.query und req.params direkt zu behandeln, können die benötigten Aufgaben über Klassendeklarationen und Middleware-Aufrufe erledigt werden.
Installation
npm install express-cargo reflect-metadata
Hauptmerkmale
- Unterstützung für die Decorators
@body,@query,@param,@header,@session - In einer einzigen Klasse lassen sich verschiedene Request-Informationen wie body, query und header gleichzeitig verarbeiten
- Automatische Typkonvertierung von Request-Werten passend zu den Typen der Klassenfelder
- Validierung mit Decorators wie
@equal,@range,@length - Wertumwandlung mit
@transform - Mit
@virtuallassen sich Werte unter Bezug auf andere Felder setzen
Beispielcode
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
})
Relevante Links
- 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 ist jederzeit willkommen. Probiert es gern ausführlich aus und teilt eure Meinung mit.
Noch keine Kommentare.