req.param()
Returns the value of the parameter with the specified name.
req.param(name[, defaultValue]);
req.param()
searches the URL path, body, and query string of the request (in that order) for the specified parameter. If no parameter value exists anywhere in the request with the given name
, it returns undefined
or the optional defaultValue
if specified.
req.params
)/foo/:id
has URL path params { id: 4 }
req.body
)req.query
){ email: 5 }
Consider a route (POST /product/:sku
) that points to a custom action or policy that has the following code:
req.param('sku');
// -> 123
We can get the expected result by sending the sku
parameter any of the following ways:
POST /product/123
POST /product?sku=123
POST /product
{ "sku": 123 }
- The order of precedence means that URL path params will override request body params, which will override query string params.
- If you'd like to get ALL parameters from ALL sources (including the URL path, query string, and parsed request body) you can use
req.allParams()
.