我正在創建Web應用程序。 在項目中,我有3個實體:更新父級時級聯更新孩子
- 西裝
- 案例
- 步驟
一套西裝包含了許多案例和一個案例包含許多步驟。所有信息僅代表一個網頁。因此,在網頁上我們有關於一件西裝的信息,包含在本套件中的案例清單以及每個案件的所有步驟。
在網頁上,我們還有一個按鈕用於保存有關西裝的所有信息。所以,顧客可以改變他想要的一切。他可以刪除並插入步驟或案例,但是當他點擊「保存」按鈕時,所有更改都會保存。
所以我的問題是:「如何正確寫入查詢來更新所有信息?」
小例子:我們得到在後端是這樣的:
{
"id": 1,
"name": "Suit name",
"cases":[
{
"id": 1,
"name": "Case 1",
"steps":[
{
"id": 1,
"name": "Case 1 first step"
}
]
},
{
"id": 2,
"name": "Case 2",
"steps":[
{
"id": 2,
"name": "Case 2 first step"
},
{
"id": 3,
"name": "Case 2 second step"
}
]
}
]
}
當客戶更新西裝的信息,例如他可以添加新的一步進入「案例1」,並刪除「案例2「。在這種情況下,我創建了一個新的JSON對象:
{
"id": 1,
"name": "New suit name",
"cases":[
{
"id": 1,
"name": "Case 1",
"steps":[
{
"id": 1,
"name": "Case 1 first step"
},
{
"name": "Case 1 second step"
}
]
}
]
}
當我得到這個JSON對象,這真的很難檢測到發生了什麼改變(更新,刪除或添加),所以我刪除有關訴訟的所有信息,再次插入。
另一個問題,這個JSON對象發送:
PUT http://example.com/suit/1
我可以用它休息添加,更新API和刪除所有元素在訴訟中,我指定正確的JSON對象。
但我認爲這是錯誤的方式。 REST API PUT只能更新關於元素的信息或添加元素(如果不存在但不刪除)。
可能會遇到類似問題。我很樂意聽取您的意見和建議。
問候