0
假设我们有一个在RDBMS中以草稿状态保存的发票。发票有三个订单项。休息客户获取发票并修改订单项。如何更新来自PUT请求的嵌套数据
GET /发票/ 123
{
"InvoiceId" : "123",
"lineitems":
[
{ "id":"A", "qty":"5"},
{ "id":"B", "qty":"5"},
]
}
假设用户修改发票如下;项目的 变化量一 移除项B. 添加新项C.
结果是:
{
"InvoiceId" : "123",
"lineitems":
[
{ "id":"A", "qty":"10"},
{ "id":"D", "qty":"5"},
]
}
的净变化是,行已被删除,行已经更新,并一条线已被添加。
用户然后保存草稿发票,这会导致PUT请求。
PUT /发票/ 123
什么是更新服务器上的行项目的最佳策略是什么?
请记住,所有的delete一个行项目,并从头开始创建他们将失去对这些线路的任何元数据(创建者,创建日期,最后由...修改)
感谢,
使用子资源建模是另一种方式,它允许已更改的位直接更新。 – 2012-03-21 22:20:14