in REST what method to use for the sync operation

Synchronizing data once user gets online involves both Insert and Update ( Upsert ) and I'm sending both kinds of records in a single request ( array ) and then server iterates through records to determine insert or update.

My question is whether to use POST or PUT ?

Also how a response from the server (JSON) should like in it's body? the data sent is an array, for example

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

Edit:

And what should be the response code, it has both create and update operations:

200 OK
201 Created

REST is not CRUD. Mapping HTTP methods to CRUD operations is a convention introduced by some frameworks, but it has nothing to do with REST. Read this answer for some clarification on that.

A PUT is a complete replacement that ignores the current state of the resource. Think of the mv command in a shell. If there's nothing on the destination, it creates it. If there's something, it replaces completely, ignoring whatever is in there. That's how a PUT should work. Ideally, your application should have an uniform implementation of PUT that works in the exact same way with any URI that supports the method..

A POST submits the payload to be processed by the target resource under predefined rules. This means you can use POST for any operation that isn't already standardized by the HTTP protocol.

In your case, it's clearly not a complete replacement, so it's not a case for PUT . Use POST .

链接地址: http://www.djcxy.com/p/71262.html

上一篇: REST API和UI网页的URI模式的最佳实践

下一篇: 在REST中使用什么方法来进行同步操作