Я пытаюсь создать маршрут, который будет действовать одинаково для разных префиксов: koa-router с несколькими префиксами для одного и того же набора маршрутов:
/player/:id
/players/:id <- Same as above
/player/search
/players/search <- Same as above
Оба эти метода абсолютно одинаковы, предоставленный дважды для удобства пользователей.
В Express получить это легко, так как ?
сделает необязательным s
:
router.use('/players?', ...);
В Коа это не такt valid.
Я попытался создать суб-маршрутизатор с двумя вариантами:
const router = new Router();
router.get('/:id', ...);
// And then:
const player = new Router();
player.use('/player', router.routes());
player.use('/players', router.routes());
Но на самом деле это будет регистрироваться:
players/player/:id
Замена .use
с .get
будет игнорировать router.routes()
и зарегистрировать /player
без :id
.
Есть ли способ получить маршрутизатор, который принимает разные маршруты без создания двух отдельных маршрутизаторов?