req.param()
傳回具有指定名稱的參數值。
req.param(name[, defaultValue]);
req.param()
會依序搜尋請求的 URL 路徑、body 和查詢字串,以尋找指定的參數。如果在請求中任何地方都找不到具有指定 name
的參數值,則會傳回 undefined
,或者如果指定了選用的 defaultValue
,則傳回該值。
req.params
)/foo/:id
的請求 "/foo/4" 具有 URL 路徑參數 { id: 4 }
req.body
)req.query
){ email: 5 }
考慮一個指向自訂動作或策略的路徑 (POST /product/:sku
),其具有以下程式碼
req.param('sku');
// -> 123
我們可以透過以下任何一種方式傳送 sku
參數來取得預期的結果
POST /product/123
POST /product?sku=123
POST /product
{ "sku": 123 }
- 優先順序表示 URL 路徑參數會覆寫請求 body 參數,而請求 body 參數又會覆寫查詢字串參數。
- 如果您想要從所有來源 (包括 URL 路徑、查詢字串和剖析後的請求 body) 取得所有參數,您可以使用
req.allParams()
。