Положение
У меня есть маршрут, который выглядит ниже:
router.get('/api/v1/tokens/:token_name', middleware1, middleware2)
И он прекрасно работает для большинства значений token_name
. Теперь я хотел бы добавить обработку для нового значения token_name
(скажем, это token_name: baz
), но это имеет особое условие и требует другого промежуточного программного обеспечения, назовем его middleware0
, запускается до middleware1
и middleware2
Что я пробовал
То, как я справился с этим сейчас, - это добавление другого маршрута, который имеет приоритет над тем, что указан выше, как показано ниже:
router.get('/api/v1/tokens/baz', middleware0, middleware1, middleware2)
router.get('/api/v1/tokens/:token_name', middleware1, middleware2)
Но теперь у меня нет доступа к переменной token_name
в других промежуточных программах, которая необходима им для выполнения своей логики.
Вопрос
Есть ли способ решить эту проблему, используя только экспресс-маршрутизатор, и не добавляя какой-либо код в промежуточное ПО? Мол, чтобы соответствовать определенному значению, но также добавить его в качестве переменной?