Маршрутизация Express.js: необязательный параметр splat?

У меня есть маршрут, который выглядит так:

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 или мне нужно использовать регулярное выражение для обнаружения это?

Изменить:

чтобы было понятнее, вот требования, которые я пытаюсь выполнить:

  • первый и второй параметры обязательны
  • первый параметр статический, второй — именованный параметр
  • любое количество необязательныхдополнительных параметров может быть добавлено и все равно попадет в маршрут.
75
задан razu 16 October 2019 в 04:53
поделиться