说我有一个患者和医生的应用程序。
患者应该可以访问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/
保持简单,然后使用令牌或查询字符串控制权限/身份验证。
答案 0 :(得分:1)
绝对不要做api /医生/病人等。
这应该是两种不同的API,一种用于医生,一种用于患者?这取决于功能的重叠程度。
无论如何,您应该已经在跟踪用户的身份验证/授权信息。否则你会让医生修改那些不去的病人。使用身份验证信息确定呼叫者支持的值/选项。
我假设您正在处理我复制Bob博士的令牌/查询字符串并发送我自己的请求的案例?