相关疑难解决方法(0)

Express.js路由:可选的spat param?

我有一条看起来像这样的路线:

app.all('/path/:namedParam/*splat?',function(req,res,next){
  if(!req.params.length){
    // do something when there is no splat
  } else {
    // do something with splat
  }
});
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用 - 如果我打电话给path/foo/bar它击中路线,但如果我打电话path/foo,它不会.

是否可以使用可选的splat参数,或者我是否必须使用正则表达式来检测它?

编辑:

为了更清楚,这是我想要实现的要求:

  • 第一和第二个参数是必需的
  • 第一个参数是静态的,第二个是命名的参数.
  • 可以附加任意数量的可选附加参数并仍然可以在路线上.

node.js express

75
推荐指数
4
解决办法
6万
查看次数

标签 统计

express ×1

node.js ×1