express-cargo: phân tích request dựa trên class
(github.com/Beyond-Imagination)express-cargo là middleware dựa trên TypeScript, sử dụng cách tiếp cận bằng decorator để tổ chức gọn gàng việc xử lý dữ liệu request lặp đi lặp lại. Thay vì thao tác trực tiếp với req.body, req.query, req.params, bạn có thể thực hiện các tác vụ cần thiết thông qua khai báo class và gọi middleware.
Cách cài đặt
npm install express-cargo reflect-metadata
Tính năng chính
- Hỗ trợ các decorator
@body,@query,@param,@header,@session - Có thể xử lý đồng thời nhiều thông tin request như body, query, header trong một class
- Tự động chuyển đổi kiểu giá trị trong request theo kiểu của field trong class
- Xác thực bằng các decorator validation như
@equal,@range,@length - Chuyển đổi giá trị bằng
@transform - Dùng
@virtualđể tham chiếu giá trị của field khác và thiết lập giá trị
Mã ví dụ
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
})
Liên kết liên quan
- github : https://github.com/Beyond-Imagination/express-cargo
- npm : https://www.npmjs.com/package/express-cargo
- docs : https://beyond-imagination.github.io/express-cargo
Mọi phản hồi đều luôn được hoan nghênh. Hãy dùng thử thật nhiều và cho tôi biết ý kiến của bạn.
Chưa có bình luận nào.