我有一条路由是这样的:
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参数,或者我必须使用正则表达式来检测?
Edit:
更清楚地说,以下是我试图达到的要求:
- 第一个和第二个参数是required
- 第一个参数是静态的,第二个是命名的参数.
- 可以附加任意数量的optional个附加参数,但仍然可以按路由运行.