【发布时间】:2015-05-28 00:53:28
【问题描述】:
考虑以下两个资源之间的关系
- 学院有很多院系
- 教师属于学院
显然,教员在这里不是一流的资源。
现在我需要端点来进行以下操作。
- 在这个农场的这所大学中创建一个新教师。在两个操作中执行此操作的一种可能方法。
POST /faculties/PUT /college/1/faculties
- 从这所学院中删除教职员工。再次进行两次操作
-
GET /college/1/faculties:相关院系名单。每个都将包含一个自我网址,例如/faculties/1。 -
DELETE /college/1/faculties/1: url 看起来更好但是如何暴露这个url?
-
- 在该学院下添加一个或多个学院。
-
PUT /college/1/faculties接受该学院的完整学院名单。
-
- 完全删除该特定扇区。
-
DELETE /sectors/1:看起来不错,但需要注意/faculties/1/sectors的缓存。
-
在这种情况下,什么是更好的方法?我已经阅读过有关公开会员资源的信息,但是通过这种方法,如果一所大学有 10 个学院,则需要 10 次单独的 http 调用才能从会员中获取所有这些。
此外,这只是完整关系树的一小部分。为了进一步扩展,假设系统有
- 学院有很多部门
- 部门有很多实验室等等。
此外,在 RESTful 架构中,客户端永远不应填充 URL。
有什么建议吗?
【问题讨论】:
-
顺便说一句,我认为你应该与复数的使用保持一致——你在大学使用单数,对院系和部门使用复数。就我个人而言,我总是使用单数,因为我喜欢匹配资源名称的路径。选择什么并不重要,但要保持一致。
标签: rest restful-architecture apiblueprint