我正在创建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只能更新关于元素的信息或添加元素(如果不存在但不删除)。
可能会遇到类似问题。我很乐意听取您的意见和建议。
问候