私はWebアプリケーションの作成に取り組んでいます。私は3つのエンティティを持っているプロジェクトで :親を更新するときにカスケード更新の子
- スーツ
- ケース
- ステップ
一つのスーツは、多くのケースが含まれており、1ケースは多くのステップが含まれています。すべての情報は1つのWebページでのみ表されます。したがって、Webページには、1つのスーツについての情報、このスーツに含まれるケースのリスト、および各ケースのすべてのステップがあります。
ウェブページには、スーツについてのすべての情報を保存するためのボタンが1つあります。だから、顧客は彼が望むすべてを変えることができます。彼はステップやケースを削除して挿入することができますが、すべての変更は「保存」ボタンをクリックすると保存されます。
私の質問は:"どのようにすべての情報を更新するためのクエリを正しく書くか?"
小さな例:私たちは、このようなバックエンド何かに乗る:
顧客更新スーツの情報は、例えば、彼は「「ケース1」に、新たなステップを追加したり、削除することができ{
"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"
}
]
}
]
}
ケース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
私が正しくJSONオブジェクトを指定した場合、私は、それは追加のためのAPIをRESTアップデートを使用してスーツ内のすべての要素を削除することができます。
しかし、私は間違った方法だと思います。 REST API PUTは、要素に関する情報を更新するか、要素が存在しない場合は削除するだけで、要素を追加する必要があります。
誰かが同様の問題に直面しているかもしれません。私はあなたのコメントや提案を聞いてうれしい。私は、オブジェクトが存在する場合は、API経由で照会することをお勧めして作成呼び出さない場合コールアップデートを存在する場合の例では、それに応じて呼び出しますrestfull APIで
よろしく