我目前正在为我的下一个Web应用程序在node.js和express.js上构建一个rest api。我正在构建一个多租户SAAS应用程序,我只是想知道根据REST API标准(如果还存在任何此类事情)的最佳或“最可接受”方式,以便在用户进行api调用时说:
/ API /用户
这不是拉动数据库中的每个用户(mongodb),而只是拉动特定用户公司成员。
我可以打电话给:api / users /?companyId = 1,但我不禁想到必须有更好的方法。也许通过公司ID将每个api调用作为某种标题?
对此的任何想法都将不胜感激。
答案 0 :(得分:0)
如果您有唯一的身份识别名称或代码'对于每个公司,您可以拥有一个多租户API,公司代码作为网址的基础:
https://companycode.myapi.com/v1/users
您还可以针对不同的环境进行扩展:
答案 1 :(得分:0)
您可以强制用户对其帐户进行身份验证并将其与公司关联。通过请求管道中的中间件,您将在请求对象登录后为其提供对其用户帐户的访问权限,您可以使用它来过滤查询结果。
api.get('/v1/users', function(req, res) {
console.log(req.user);
//create a service that gets users for user(companyUser)
//mongooseModel.find({}).where(req.user._id.toString()
}