如何用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());