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

Amo*_*rni 28 request.querystring node.js query-string querystringparameter restify

场景:我们的开发人员正在尝试用Node.JS Restful API替换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

我可以从上面的URL解析/读取参数

码:

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);
});
Run Code Online (Sandbox Code Playgroud)

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

Sim*_*mon 74

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

server.use(restify.plugins.queryParser());
Run Code Online (Sandbox Code Playgroud)

  • 真正.这将通过req.query.my_param读取查询字符串参数. (9认同)

ken*_*tor 5

Restify 5(2017)答案:

从解析5开始,您现在可以像这样设置查询解析器: server.use(restify.plugins.queryParser());.

如果您使用此插件,则可以访问已解析的参数req.query.

有关其他选项和信息,请查看restify文档:http://restify.com/docs/plugins-api/#queryparser