在REST中使用什么方法进行同步操作

use*_*195 3 api rest post patch put

用户上线后同步数据涉及InsertUpdate(Upsert),我在一个请求(array)中发送两种记录,然后服务器迭代记录以确定插入或更新.

我的问题是是否使用POSTPUT

另外,服务器(JSON)的响应在它的主体中应该如何?例如,发送的数据是一个数组

{
  "ids" : "15,16,17",
  "success" : true
}
Run Code Online (Sandbox Code Playgroud)

编辑:

什么应该是响应代码,它有创建和更新操作:

200 OK
201 Created
Run Code Online (Sandbox Code Playgroud)

Ped*_*eck 7

REST不是CRUD.将HTTP方法映射到CRUD操作是一些框架引入的约定,但它与REST无关.阅读此答案以获得一些澄清.

A PUT是完全替代,忽略资源的当前状态.想想mvshell 中的命令.如果目的地没有任何东西,它会创建它.如果有什么东西,它会完全取代,忽略那里的东西.这PUT应该是一个应该如何运作.理想情况下,您的应用程序应该具有统一的实现,PUT其工作方式与支持该方法的任何URI完全相同.

A POST在预定义规则下提交要由目标资源处理的有效负载.这意味着您可以使用POST任何尚未通过HTTP协议标准化的操作.

在你的情况下,它显然不是一个完整的替代品,所以它不是一个案例PUT.使用POST.