Rest 哪一个HTTP动词应用于组合删除&;插入(模仿和“更新”)?

Rest 哪一个HTTP动词应用于组合删除&;插入(模仿和“更新”)?,rest,http,asp.net-web-api,Rest,Http,Asp.net Web Api,我的客户可以提交销售订单,然后在以后编辑。在将编辑插入数据库时,我选择从销售订单中完全删除所有行项目,并将它们全部重新插入,就像它是一个新订单一样 举例说明: 最初的……订单 ORDERID: 1 Lines: 10. item 1 - 45qty 20. item 2 - 50qty 30. item 7 - 33qty 40. item 9 - 65qty 然后客户编辑订单:(更改项目1的数量,删除项目9并添加项目4) 我的api将首先调用SQL命令从[table]中删除,其中ORDERI

我的客户可以提交销售订单,然后在以后编辑。在将编辑插入数据库时,我选择从销售订单中完全删除所有行项目,并将它们全部重新插入,就像它是一个新订单一样

举例说明:

最初的……订单

ORDERID: 1
Lines:
10. item 1 - 45qty
20. item 2 - 50qty
30. item 7 - 33qty
40. item 9 - 65qty
然后客户编辑订单:(更改项目1的数量,删除项目9并添加项目4)

我的api将首先调用SQL命令从[table]中删除,其中ORDERID=@ORDERID

然后,它将循环编辑中的所有行,并将它们插入到订单中。就像它在创建新订单时进行初始插入一样


所以我的问题是。。。我是否应该使用HTTP谓词更新来执行此操作?还是放?或者什么是合适的?

我认为HTTP
PUT
正适合您的情况。如果要更新现有对象,请使用
PATCH

发件人:

HTTP RFC指定PUT必须采用完整的新资源表示形式作为请求实体。这意味着,例如,如果仅提供某些属性,则应删除这些属性(即设置为null)

最近又提出了一种称为PATCH的方法。此调用的语义类似于PUT,它更新资源,但与PUT不同,它应用增量而不是替换整个资源。在撰写本文时,补丁仍然是一个提议的标准,等待最终批准

ORDERID: 1
Lines:
10. item 1 - 60qty
20. item 2 - 50qty
30. item 4 - 10qty
40. item 7 - 33qty