2013-06-27 87 views
0

我正在为我正在构建的绿地应用程序的第一个RESTful API设计工作,并且可以使用API​​的某些指针来进​​行操作。REST 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

在设计的REST API,你的重点是资源,从我所知道的,你的资源是“警报”,这是“东西”,你的API是。因此,你的方法对我更有意义。

+0

感谢您的澄清,仍然试图让我的头围绕REST原则。 – Mike