1
我們正在爲複雜數據模型設計REST API。模型就像一棵樹。在一次REST調用中處理多個操作
TOPObject
Name: XX
Start Date: 01/10/2011
End Date: 02/18/2011
List
NestedObject
Name: NO1
Code: CCC1
NestedObject
Name: NO2
Code: CCC2
在客戶端中,他們可以在一個屏幕上處理整個對象,並一次發送所有更改。我不想將資源分成兩個調用:一個用於TOPObject,一個用於NestedObject。我想給TOPObject打一次POST。
我該如何處理層次不同的多個變化。例如,如果他們像這樣改變對象。
TOPObject
Name: XY /* changed */
Start Date: 01/10/2011
End Date: 02/18/2011
List
NestedObject
Name: NO1
Code: CCC1
/* Notice that NesteObject NO2 was removed as well */
NestedObject /* added */
Name: NO3
Code: CCC3
因此,對於一次調用,有三種不同的操作:添加,更新和刪除。他們需要作爲一項交易來完成。
我們有一個想法,就是將「行動」與數據一起發送,但這對我來說聽起來並不RESTful。有什麼建議麼。