regex - Restify 中的通配符路由

标签 regex node.js express restify

来自 express ,我有这样的路线

server.get('/some/route/*', function(req, res) { 

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

});

像这样的通配符路由在restify中看起来如何?

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

谢谢

最佳答案

像这样的通配符路由在restify中看起来如何?

答案: Restify 采用的正则表达式与express.js 略有不同。 Express 中的“/some/route/*”将是 Restify 中的“/some/route/.*”

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

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

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

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

关于regex - Restify 中的通配符路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24403000/

相关文章:

java - 用java分割字符串

node.js - Node.js 交互式 shell 中的 window 对象

node.js - 在 sequelize 中使用模型集合作为数据类型

Express 4 中间件不调用 DigitalOcean 服务器上的路由

python - 正则表达式:替换所有数字和 "number-like"字符串(范围内的年份除外)

正则表达式 ;) 笑脸

javascript - 如何使用express.js在另一个MySQL查询中执行mySQL查询

javascript - 使用回调函数获取插入的文档_id

javascript - 正则表达式匹配卡代码输入

javascript - 在上传整个文件之前验证文件扩展名 强大 (node.js)