我尝试使用koa-router
定义不同的路线,并且我有一个hellova时间让它工作。
这样的事情:
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。我究竟做错了什么?
答案 0 :(得分:2)
显然上面的代码工作得很好..但是在authorizeMiddleware
我正在做await next
而不是await next()
太糟糕了,没有办法在这里删除问题..人们现在要来这里寻找与我白痴无关的问题。