假设我有一个适用于患者和医生的应用程序。
患者应该能够在 `site.com/api/patients/ 访问他们的信息。
医生也应该能够访问有关患者的信息,但会收到与患者不同的信息。
我可以想象两种处理方式:
api/patients
具有在不同权限之间进行拆分的逻辑
或者
api/patients
为患者和
api/doctors/patients
医生获取有关患者的信息
这看起来相对不错,但后来我开始思考当医生和患者都可以为患者添加任务时会发生什么。
api/patients/tasks/
让患者添加一项任务,但
api/doctors/patients/tasks
就嵌套而言,这会变得非常糟糕(我认为限制路线的深度可能会更好)
拥有api/patients
并检查用户是医生还是患者还是嵌套资源更好?最佳实践的共识是什么(如果有的话)?
拥有如下 API 端点会很好:
api/tasks/
api/patients
api/doctors/
这使事情变得简单,然后使用令牌或查询字符串控制权限/身份验证。