Определить вложенные маршруты koa-router с префиксами

Я пытаюсь определить разные маршруты, используя koa-router, и у меня чертовски много времени, чтобы заставить его работать.

Что-то вроде этого:

const apiRouter = new KoaRouter({
  prefix: '/api'
})
.use(bodyParser)
.post('/sign-in', signinMiddleware)
.get('auth-check', authCheckMiddleware)

const protectedApisRouter = new KoaRouter()
.use(authorizeMiddleware)
.get('/widgets', getWidgetsListMiddleware)
.post('/widgets', createWidgetMiddleware)
.get('/widgets/:widgetId', getWidgetByIdMiddleware)
.patch('/widgets/:widgetId', updateWidgetMiddleware)


apiRouter.use(
  prodectedApisRouter.routes(),
  prodectedApisRouter.allowedMethods()
)

koaApp.use(apiRouter.routes())
koaApp.use(apiRouter.allowedMethods())
 

Я ожидаю, что запросы к /api/widgets/* ДОЛЖНЫ войти в соответствующее промежуточное ПО после запуска промежуточного ПО bodyParser и authorizeMiddleware, основываясь на документации здесь: https://github.com/alexmingoia/koa-router#nested-routers

Но вместо этого я получаю 404 для всех этих маршрутов. Что я делаю не так?


person RavenHursT    schedule 19.01.2018    source источник


Ответы (1)


По-видимому, приведенный выше код работает просто отлично... но в моем authorizeMiddleware я делал await next вместо await next() ????

Жаль, что здесь нельзя удалять вопросы... теперь люди будут приходить сюда с вопросами, не связанными с моим идиотизмом.

person RavenHursT    schedule 19.01.2018