我有一条看起来像这样的路线:
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
}
});
但是,这行不通-如果我打电话,path/foo/bar
它会到达路线,但是如果我打电话path/foo
,它就不会。
是否可以有一个可选的splat参数,或者我必须使用正则表达式来检测到这一点?
编辑:
更清楚地说,这是我要达到的要求:
- 第一和第二个参数是必需的
- 第一个参数是静态的,第二个参数是命名的参数。
- 可以附加任意数量的可选附加参数,并且仍然可以实现。
'/path/:firstParam/*'
。如果需要,请执行'/path/:firstParam/:secondParam?/*'
。