【发布时间】:2014-03-07 10:54:20
【问题描述】:
我正在尝试为 express.js 路由定义一个通用处理程序
我们的想法是得到类似的东西
get /api/xxx/yyy -> 获取所有数据
get /api/xxx/yyy/11-> 获取记录 11
我需要在一个变量中捕获 xxx/yyy,在另一个变量中捕获 11
这很好用:
app.get('/api/*', function(req, res, next) {
我没有捕获任何内容,但我使用 req.path 属性读取了它
但我似乎无法解决这个问题:
app.get('/api/*/:id(\\d+)$', function(req, res, next) {
如果我尝试:
http://localhost:3000/api/clientes/2
这是我在 req.params 中得到的:
req.params = [ '2', id: 'clientes' ]
路径似乎绑定到 id,而 id 未绑定到任何变量。
此外,如果我尝试获取这个:
http://localhost:3000/api/clientes/nuevos/2
路线不匹配
所以,我正在寻找一个正则表达式,它允许我捕获多个路径 (xxx/yyy),如果它是一个数字 (11),也可以捕获最后一个路径
【问题讨论】:
标签: javascript regex node.js express routes