1 ポイント 投稿者 laggu91 2025-10-29 | まだコメントはありません。 | WhatsAppで共有

express-cargo は TypeScript ベースのデコレーター方式で、繰り返し発生するリクエストデータ処理をすっきり整理してくれるミドルウェアです。req.bodyreq.queryreq.params を直接扱わず、クラス宣言とミドルウェア呼び出しで必要な処理を行えます。


インストール方法

npm install express-cargo reflect-metadata  

主な特徴

  • @body@query@param@header@session デコレーターをサポート
  • 1つのクラスで body、query、header などさまざまなリクエスト情報をまとめて処理可能
  • クラスフィールドの型に合わせて request の値の型を自動変換
  • @equal@range@length などの validation デコレーターで検証
  • @transform を使った値の変換
  • @virtual を使って他のフィールド値を参照し、値を設定

サンプルコード

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  
})  

関連リンク


フィードバックはいつでも歓迎です。ぜひいろいろ使ってみて、ご意見をお寄せください。

まだコメントはありません。

まだコメントはありません。