Koa-router,路由中带有可选字符

时间:2018-06-25 16:56:05

标签: javascript node.js routing koa koa-router

我正在尝试创建一条对不同前缀具有相同作用的路由:koa-router对同一组路由具有多个前缀:

/player/:id
/players/:id     <- Same as above

/player/search
/players/search  <- Same as above

这两种方法完全相同,为方便用户,给出了两次。

在Express中,获得此权限很容易,因为?将使s为可选:

router.use('/players?', ...);

在Koa中,这无效。

我尝试使用以下两个选项创建子路由器:

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

有没有一种方法可以在不创建两个单独的路由器的情况下实现接受不同路由的路由器?

0 个答案:

没有答案