用户上线后同步数据涉及Insert
和Update
(Upsert
),并且我在一个请求中发送两种记录(array
然后服务器迭代记录以确定插入或更新。
我的问题是,是否使用POST
或PUT
?
此外,服务器(JSON)的响应应该如何?发送的数据是一个数组,例如
{
"ids" : "15,16,17",
"success" : true
}
修改
响应代码应该是什么,它有创建和更新操作:
200 OK
201 Created
答案 0 :(得分:7)
REST不是CRUD。将HTTP方法映射到CRUD操作是一些框架引入的约定,但它与REST无关。请阅读this answer以获得一些澄清。
PUT
是一个完全替代,忽略了资源的当前状态。想想shell中的mv
命令。如果目的地没有任何内容,则会创建它。如果有什么东西,它会完全取代,忽略那里的东西。这是PUT
应该如何运作的方式。理想情况下,您的应用程序应该具有PUT
的统一实现,其工作方式与支持该方法的任何URI完全相同。
POST
在预定义规则下提交目标资源要处理的有效负载。这意味着您可以将POST
用于任何尚未通过HTTP协议标准化的操作。
在您的情况下,它显然不是完全替代品,因此PUT
并非如此。使用POST
。