考虑以下两个资源之间的关系
- 学院有很多院系
- 教师属于一所大学
显然,教师不是这里的一流资源。
现在我需要端点来进行以下操作。
- 在这个农场的这所大学中创建一个新教师。在两个操作中执行此操作的一种可能方法。
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。
有什么建议吗?