我正在为我正在构建的绿地应用程序开发我的第一个RESTful API设计,并且可以对API的URI进行一些指示。
对于背景,临床医生使用该系统来获取有关其患者的警报,因此我将创建屏幕,其中将显示属于分配给临床医生的所有患者的警报列表。
临床医生将能够按患者姓名或警报类型查看警报。
我的第一个想法是使用URI保持简单,如下所示:
/api/alerts
- 获取完整的提醒列表
/api/alerts/123
- 获取指定警报的详细信息
/api/alerts?user=mike
- 按用户获取提醒列表
/api/alerts?user=mike&groupby=patients
- 按用户和用户分组获取警报列表
但我已经开始有了第二个想法,并从用户的角度开始思考它,以及如何更好地展示关系,让我:
/api/users
- 获取完整的用户列表
/api/users/mike
- 获取指定用户的详细信息
/api/users/mike/patients
- 获取所有指定用户患者的详细信息
/api/users/mike/patients/alerts
- 获取用户患者的所有提醒
/api/users/mike/patients/123/alerts
- 获取指定用户的所有警报
/api/users/mike/patients/alerts?groupby=type
- 按警报类型获取用户患者和群组的所有提醒。
如果我走在正确的轨道上,任何想法,意见。
我应该采用一种方法而不是另一种方法吗?
干杯, 麦克
答案 0 :(得分:1)
在设计REST API时,您关注的是资源,从我所知道的,您的资源是“警报”,这是您的API所针对的“事物”。因此,你的方法对我来说更有意义。