我已經創建了以下實體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