2012-05-09 128 views
9

Estoy usando Node.js y quiero ver todos los parámetros que se han publicado en mi secuencia de comandos. Para llegar a mi función, en mi routes/index.js estoy haciendo:¿Por qué req.params devuelve una matriz vacía?

app.post('/v1/order', order.create); 

Luego, en función de mi, que tengo:

exports.create = function(req, res, next) { 
console.log(req.params); 

pero es devolver una matriz vacía. Pero cuando lo hago:

exports.create = function(req, res, next) { 
console.log(req.param('account_id')); 

Obtengo los datos. Así que estoy un poco confundido sobre lo que está pasando aquí.

Respuesta

21

req.params solo contienen los parámetros de ruta, no consulta los parámetros de cadena (de GET) y no los parámetros de cuerpo (de POST). La función de parámetro() Sin embargo comprueba los tres, ver:

http://expressjs.com/4x/api.html#req.params

+0

Tenga en cuenta que 'req.param()' está [en desuso] (http://expressjs.com/en/4x/api.html#req.param). –

12

req.params
sólo puede obtener el parámetro de solicitud de URL en este patrón: /user/:name

req.query
get params de consulta (nombre) como /user?name=123 o params del cuerpo.

Cuestiones relacionadas