如何用Node.JS的restify框架parsing/读取多个参数

情景 :我们的开发人员正在尝试用Node.JS Restful APIreplace一个Web服务(用C#.Net编写)。

问题 :现在我们需要处理传入的请求(我们无法控制它)。 所以以下是传入url的格式:

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

我能够处理的URL如下所示:

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

我可以从上面的URLparsing/读取参数

码:

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); }); 

问题 :如何从格式如http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324的URL中读取多个参数

你只需要像这样加载查询分析器插件;

 server.use(restify.queryParser()); 

Simon的回答不再有效,因为restify的queryParser已经被移到了restify-plugins包中。 更新的解决scheme是

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