我已经创建了以下实体Book
,Chapter
和Feedback
。 Book
有许多Chapter
实体,它也有许多Feedback
实体。由于没有Chapter
实体可以靠自己生活,所以它们是Book
构图的一部分。这同样适用于Feedback
实体。如何处理RESTful Web服务中的聚合和组合
我的问题是作为组成部分的对象是否应该在RESTful系统中拥有自己的URI?如:
/books/1/chapters (With POST, DELETE, PUT operations)
/books/1/feedback (With POST, DELETE, PUT operations)
还是应threated这样的:
/books/1 (With POST, DELETE, PUT operations only on the book)
最后一个URI意味着API的用户将不得不反馈添加到本书的数组,然后更新整个图书实体。
因为章节不属于任何其他对象,并且它们的生命周期取决于书本,所以称作书籍和章节“组合+聚合”之间的关系是否合理?
明确地去找第一个选项。否则,如果你正在做本书的REST,那么你需要将整本书放入其中以添加其他反馈。这是要传输的数据量很大;并且它还具有更多的并发更新隐含的含义。 – skirsch 2013-04-20 10:44:31