Node +Express 动态路由

Node +Express dynamic routing

我正在创建一个 multitenet 应用程序,即,我的客户有自己的一组用户。

这是一款学校应用。 IAM 为所有学校使用相同的数据库以便于维护。

我的路线会是这样

/API/some学校code/users

/API/some其他学校code/users

/API/some其他学校code/users

我的问题是,这里的学校代码是动态的或用户特定的。我需要使用它来过滤数据库中的数据。

所以我的每个端点的形式应该是 /API/:学校code/users 并通过 req.params.schoolcode

获取学校代码

这里的问题是我需要在每个起始路线中添加 :schoolcode 。 或者任何中间件方法

有没有其他方法。请更好的解决方案

您可以将代码分段并在主节点文件中调用路由处理程序

app.use('/api/:schoolcode([0-9]+)', schoolRouter)

我添加了一些正则表达式,可以验证您的路径是否只是数字,但您可以根据需要进行更改。 你的 schoolRouter 可能是这样的:

 app.route('/users')
   .get((req, res) => {/** do something
 **/})
   .post((req, res) => { /* do something */})