Restful API端点和不同的权限/能力

时间:2013-07-23 18:52:09

标签: api rest endpoint

说我有一个患者和医生的应用程序。

患者应该可以访问http://site.com/api/patients /.

访问他们的信息

医生也应该能够获得有关患者的信息,但会收到与患者不同的信息。

我可以想象两种处理方法:

api/patients具有在不同权限之间分配的逻辑

OR

api/patients为患者和 api/doctors/patients让医生获取有关患者的信息

这似乎相对较好,但后来我开始考虑当医生和病人都能为病人添加任务时会发生什么。

api/patients/tasks/为患者添加任务但是 api/doctors/patients/tasks就嵌套而言,这会变得非常糟糕(我认为限制路线深度可能更好)

是否更好地拥有api/patients并检查用户是医生还是患者还是嵌套资源?关于最佳实践的共识是什么(如果有的话)?

拥有像这样的API端点会很好:

api/tasks/ api/patients api/doctors/

保持简单,然后使用令牌或查询字符串控制权限/身份验证。

1 个答案:

答案 0 :(得分:1)

绝对不要做api /医生/病人等。

这应该是两种不同的API,一种用于医生,一种用于患者?这取决于功能的重叠程度。

无论如何,您应该已经在跟踪用户的身份验证/授权信息。否则你会让医生修改那些不去的病人。使用身份验证信息确定呼叫者支持的值/选项。

我假设您正在处理我复制Bob博士的令牌/查询字符串并发送我自己的请求的案例?