在Express上使用`app.use'的路由参数



我不能在Express 4.16.2上使用app.use的路由参数。

我有这样的陈述:

app.use('/course-sessions/:courseSessionId/chapter-sessions', chapterSessionsRouter)

和,在章节路由器中:

// Index.
router.get('/', ...resource.indexMethods)

当我获得'/course-sessions/0/chapter-sessions/'时,我有404。

然后我正在尝试这样的语句:

app.get('/course-sessions/:courseSessionId/chapter-sessions', ...chapterSessionResource.indexMethods)

现在我有了我想要的结果。因此,路由参数不适用于app.use

在研究时,我得到了这个GitHub问题,并关闭了该问题。但是看来这个问题仍然存在。还是我做错了什么?

您必须以不同的方式设置路由器,请尝试使用mergeParams访问父路由中的参数。

let router = express.Router({ mergeParams: true });

请参阅文档:http://expressjs.com/en/api.html

我只做app.use('/course-sessions/',章节sersionsrouter)并处理路由器内的ID。

相关内容

  • 没有找到相关文章

最新更新