RDBMSにドラフト状態で保存された請求書があるとします。請求書には3つの明細があります。休息クライアントは請求書を受け取り、明細を修正します。PUTリクエストからネストされたデータを更新する方法
GET /インボイス/ 123
{
"InvoiceId" : "123",
"lineitems":
[
{ "id":"A", "qty":"5"},
{ "id":"B", "qty":"5"},
]
}
は、以下のように、ユーザが請求書を修正すると仮定する。項目の 変更量 は、Item B. を削除しますが、結果がある
C.
新しい項目を追加します:{
"InvoiceId" : "123",
"lineitems":
[
{ "id":"A", "qty":"10"},
{ "id":"D", "qty":"5"},
]
}
正味の変化は、行が削除されたということです、ラインが更新されている、と行が追加されました。
ユーザーは、ドラフト請求書を保存します。その結果、PUT要求が発生します。
PUT /請求書/ 123
サーバー上の行項目を更新するための最善の戦略は何ですか?
(...で最後に変更され、日付を作成し、によって作成された)すべてのラインアイテムをdeleteing、最初からそれらを作成すると、それらのライン上の任意のメタデータを失うことに注意して
おかげで、
サブリソースを使用したモデリングは、変更されたビットを直接更新できるようにする別の方法です。 –