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 */})
我正在创建一个 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 */})