【发布时间】:2014-07-20 09:54:35
【问题描述】:
所以,我正在 Angular 中构建一个应用程序,该应用程序将在后面利用 REST API,在 Node.js 上运行。在设计此 API 时,我在处理数据复杂性时遇到了一些麻烦,我需要一些帮助。
这里有不同的资源,有问题。
- 医生(每个医生可能有多名患者)
- 患者(每个患者可能有多个医生)
- 预约(自然而然,医生有预约)
- 提醒(提醒可以从医生发送给患者,而不是反过来)
现在,这里是应用程序可能执行的一些操作,因此 API 的要求很明确。
- 每位医生都必须能够请求他的所有患者或特定患者。
- 每位患者都必须能够请求其所有医生或特定医生。
- 每位医生都必须能够请求他在特定日期或所有日期(如有必要)的所有预约(看所有患者)。
- 每位患者都必须能够在特定日期或所有日期(如有必要)请求所有预约(看所有医生)。
- 每位医生都必须能够请求一位患者的所有预约。
- 每位患者都必须能够请求一位医生为其所有预约。
- 每位医生都必须能够请求对特定患者的所有提醒。
请记住,请求自然可以是 POST、GET、DELETE 或 PUT。现在,这就是我目前所处的位置。我只提到 URL,发送 POST、GET、DELETE 或 PUT 时对每个 URL 的操作是不言自明的。
/doctors//doctors/:id-
/doctors/:id/patients(返回/patient/:id的列表) /doctors/:id/appointments/patients//patients/:id-
/patients/:id/doctors(返回/doctors/:id的列表) /patients/:id/appointments
现在,我对上面的那些没问题。这是我的问题。
- 如何在没有像
/doctors/:id/patients/:id/appointments这样的嵌套的情况下为任务编号 7 设计 URL? - 此外,我可以通过上述方法轻松获得医生或患者的所有预约。具体的约会呢?
/doctors/:id/appointments/:id或/patients/:id/appointments/:id感觉不太对。 - 另外,如何预约看特定患者或特定医生?
- 那么每个医生或患者在特定日期的预约情况如何?
我觉得嵌套太多了。请帮忙。
【问题讨论】: