Node.js url路由格式化

时间:2013-06-04 19:28:49

标签: node.js rest url routing express

我使用restify node.js编写REST API。

现在我这样做:

"http://test.com/products/query/keyword"  

Routing = server.get('products/query/:keyword', myCallBack);

获得req.pramams.keyword

之类的参数

我希望得到像:

这样的参数
"http://test.com/products/?query=keyword"
 Routing ?

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以使用req.query对象:

// if you use Express (as your tags seem to suggest)
var express = require('express');
var app     = express();

app.get('/products/', function(req, res) {
  res.send('Query sent: ' + req.query.query);
});

app.listen(3012);
// if you use Restify (as your text seems to suggest)
var restify = require('restify');
var app     = restify.createServer();

app.pre(restify.pre.sanitizePath()); // necessary to be able to use /products/
                                     // (with trailing slash)
app.use(restify.queryParser());

app.get('/products/', function(req, res) {
  res.send(req.query.query);
});

app.listen(3012);