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

in REST what method to use for the sync operation

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

我的问题是使用POST还是PUT

另外,来自服务器 (JSON) 的响应在其正文中应该如何处理?发送的数据是一个数组,例如

{
  "ids" : "15,16,17",
  "success" : true
}

编辑:

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

200 OK
201 Created

REST 不是 CRUD。将 HTTP 方法映射到 CRUD 操作是一些框架引入的约定,但它与 REST 无关。阅读 this answer 以获得一些说明。

A PUT 是忽略资源当前状态的完整替换。想想 shell 中的 mv 命令。如果目的地上没有任何内容,它就会创建它。如果有东西,它会完全替换,忽略那里的任何东西。这就是 PUT 应该如何工作。理想情况下,您的应用程序应该具有 PUT 的统一实现,它与支持该方法的任何 URI 的工作方式完全相同..

A POST 提交要由目标资源根据预定义规则处理的负载。这意味着您可以将 POST 用于 HTTP 协议尚未标准化的任何操作。

在您的情况下,它显然不是完全替代品,因此 PUT 并非如此。使用 POST.