REST API URI设计方法

时间:2013-06-27 13:15:25

标签: rest restful-url

我正在为我正在构建的绿地应用程序开发我的第一个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 - 按警报类型获取用户患者和群组的所有提醒。

如果我走在正确的轨道上,任何想法,意见。

我应该采用一种方法而不是另一种方法吗?

干杯, 麦克

1 个答案:

答案 0 :(得分:1)

在设计REST API时,您关注的是资源,从我所知道的,您的资源是“警报”,这是您的API所针对的“事物”。因此,你的方法对我来说更有意义。