top | item 5422792

(no title)

stuffihavemade | 13 years ago

No, POST for create and PUT for update is correct. PUT is supposed to be idempotent.

discuss

order

polack|13 years ago

Well, if you know the full object to save I would use PUT. If you expect the server to fill in ID or something similar I would use POST. But why use PUT for update? Dont you have to post the entire object (all fields) with a PUT? So if you just want to update one field a POST is more appropriate?

stuffihavemade|13 years ago

You could use PATCH instead (which Rails will be using in 4.0).

icebraining|13 years ago

No, PUT can be for creating too, if the client already knows the final URL. From the spec:

If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new resource by the requesting user agent, the origin server can create the resource with that URI. If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.