route req query nodejs node node.js query-string request.querystring querystringparameter restify

node.js - nodejs - req.query express



Cómo analizar/leer múltiples parámetros con el marco de Restify para Node.JS (3)

Escenario : Los desarrolladores intentamos reemplazar un servicio web (escrito en C # .Net) con Node.JS Restful API.

Problema : ahora necesitamos manejar la solicitud entrante tal como está (no tenemos control sobre ella). Así que el siguiente es el formato de la URL entrante:

http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324&GetDetailType=FULL

Soy capaz de manejar la URL como:

http://www.website.com/service/Trans001/ae67ea324/FULL

Puedo analizar / leer el parámetro de la URL anterior

Código:

var server = require(''restify'').createServer(); function respond(req, res, next) { console.log("req.params.UID:" + req.params.UID); console.log("req.params.FacebookID:" + req.params.FacebookID); console.log("req.params.GetDetailType" + req.params.GetDetailType); } server.get(''/service/:UID/:FacebookID/:GetDetailType'', respond); server.listen(8080, function () { console.log(''%s listening at %s'', server.name, server.url); });

Pregunta : ¿Cómo puedo leer los múltiples parámetros de la URL con el formato http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324


La respuesta de Simon ya no es válida, ya que el queryParser de restify se ha movido al paquete restify-plugins. La solución actualizada es

server.use(require(''restify-plugins'').queryParser());


Solo necesitas cargar el plugin del analizador de consultas como tal;

server.use(restify.plugins.queryParser());


Respuesta de Restify 5 (2017):

A partir de Restify 5 ahora puede configurar el analizador de consultas de esta manera: server.use(restify.plugins.queryParser()); .

Si usa este complemento, puede acceder a los parámetros analizados en req.query .

Para obtener opciones e información adicionales, eche un vistazo a la documentación de restify: http://restify.com/docs/plugins-api/#queryparser