Коа-роутер с дополнительным символом в маршруте - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь создать маршрут, который будет действовать одинаково для разных префиксов: 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.

Есть ли способ получить маршрутизатор, который принимает разные маршруты без создания двух отдельных маршрутизаторов?

...