req.param()
返回指定名称的参数的值。
req.param(name[, defaultValue]);
req.param()
在请求的 URL 路径、主体和查询字符串中(按此顺序)搜索指定参数。如果在请求中任何位置都没有使用给定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 路径参数将覆盖请求主体参数,请求主体参数将覆盖查询字符串参数。
- 如果您想从所有来源(包括 URL 路径、查询字符串和解析的请求主体)获取所有参数,可以使用
req.allParams()
。