改善通配路线

时间:2014-06-25 07:46:40

标签: regex node.js express restify

来自快递我有像

这样的路线
server.get('/some/route/*', function(req, res) { 

    // accessing wildcard 
    console.log(req.params[0]);

});

像这样的通配符路径如何解决?

在解析时,我还希望通过req.params[0]访问uri的通配符部分。

THX

2 个答案:

答案 0 :(得分:3)

这样的通配符路径如何改善?

答案: restify采用与express.js略有不同的正则表达式。表达中的'/ some / route / *'将是'/some/route/.*'在restify中

在restify中我还想通过req.params [0]访问uri的通配符部分。

答案: restify不会将通配符部分放在req.params中,例如express,因此需要从req.url手动解析通配符部分,如下所示:

var path = req.route.path;
var wildcard = req.url.split(path.substring(0, path.lastIndexOf('.')))[1];

所以使用上面的代码,'/ some / route / this /是/ my / route'的通配符部分是this / is / my / route

答案 1 :(得分:1)

这会有所帮助:

var url = req.url,
    wildcardUrl = '';
wildcardUrl = url.split('/some/route/')[1];

//do something to wildcardUrl
相关问题