Перейти к основному содержимому

express-cargo

Декларативная, управляемая декораторами обработка данных запросов для Express.js.

import express from 'express'
import { Body, bindingCargo, getCargo, Min, Header, Params } from 'express-cargo'

const app = express()
app.use(express.json())

class RequestExample {
@Body()
name!: string

@Body()
@Min(0)
age!: number

@Params('id')
id!: number

@Header()
authorization!: string
}

app.post('/:id', bindingCargo(RequestExample), (req, res) => {
const data = getCargo<RequestExample>(req)
// write your code with bound data
})

app.listen(3000)

Декларативная привязка данных

Легко привязывайте данные запроса (тело, параметры запроса, параметры маршрута) к экземплярам классов с помощью интуитивно понятных декораторов для создания чистой и согласованной логики маршрутизации.

Надежная проверка данных

Проверяйте достоверность данных с помощью различных встроенных декораторов и обеспечивайте целостность данных перед их обработкой.

Типобезопасность и расширяемость

Разработано на основе TypeScript для полной типобезопасности и свободно расширяемо с помощью пользовательских декораторов и преобразователей.