减少重复路线index.js

时间:2018-11-22 10:56:02

标签: node.js express

我正在尝试使用快速路由器构建REST API,该路由器包含嵌套的子路由。我已经在我的index.js文件中安装了这些子路由。

我对它的定义如下:

// Mounted routes
app.use('/api/v1/Project', new ProjectRouter().routes);
app.use('/api/v1/Project/:projectId/Context', new ContextRouter().routes);
app.use('/api/v1/Project/:projectId/Context/:contextId/Question', new QuestionRouter().routes);
app.use('/api/v1/Project/:projectId/Context/:contextId/Question/:questionId/Answer', new AnswerRouter().routes);

我想安排我的路线,围绕功能,并更多地关注REST标准。

  

在上述情况下,路由前缀/api/v1/Project/为   一遍又一遍地重复。

     

是否有一些最佳实践来最大限度地减少冗余路由?   前缀?

1 个答案:

答案 0 :(得分:0)

我通过使用此链接Nested Router in Express.JS中详细介绍的方法解决了我的问题。

解决方案是我们只需按以下方式将嵌套路由器安装在模块中:

app.use('/:nestedId/nestedRoute', nestedRouter);

此外,我们还需要合并父路由参数,我们可以通过将options对象传递给express.Router方法来实现:

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