定义带有前缀的 koa-router 嵌套路由
Define koa-router nested routes w/ prefixes
我正在尝试使用 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。我究竟做错了什么?
显然上面的代码工作得很好..但是在我的 authorizeMiddleware
中我正在做 await next
而不是 await next()
太糟糕了,没有办法删除这里的问题。人们现在会来这里解决与我的白痴无关的问题。
我正在尝试使用 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。我究竟做错了什么?
显然上面的代码工作得很好..但是在我的 authorizeMiddleware
中我正在做 await next
而不是 await next()
太糟糕了,没有办法删除这里的问题。人们现在会来这里解决与我的白痴无关的问题。