RESTful: PUT x POST

Web service

29/09/2016

bom dia a todos

Dentro do contexto REST, qual a diferenca entre PUT e POST? obrigado!
Gladstone Matos

Gladstone Matos

Curtidas 1

Melhor post

Claudemir Brum

Claudemir Brum

29/09/2016

Por convenção, o POST é utilizado para a atualização de um dado já existente, enquanto o PUT é utilizado para inserção de um novo dado.
Nesse cenário, no POST é necessário informar o ID do dado que será alterado, enquanto no PUT esse id não é enviado pois ainda não existe no sistema.
GOSTEI 8

Mais Respostas

Gladstone Matos

Gladstone Matos

29/09/2016

show Claudemir, muito obrigado!
GOSTEI 1
Gladstone Matos

Gladstone Matos

29/09/2016

Segue abaixo duas literaturas para ajudar nessa questão:

Site oficial do Java:
https://docs.oracle.com/cd/E19798-01/821-1841/giepu/index.html

Trecho:
"Uniform interface: Resources are manipulated using a fixed set of four create, read, update, delete operations: PUT, GET, POST, and DELETE. PUT creates a new resource, which can be then deleted by using DELETE. GET retrieves the current state of a resource in some representation. POST transfers a new state onto a resource."

Site oficial da Microsoft:
https://msdn.microsoft.com/en-us/library/dd203052.aspx

Trecho:
"PUT: Create or update a resource with the supplied representation;
POST: Submits data to be processed by the identified resource"


https://docs.oracle.com/cd/E19798-01/821-1841/gipys/index.html

Trecho:
"Both @PUT and @POST can be used to create or update a resource."



IETF:

https://tools.ietf.org/html/rfc7231#section-4.3.3

Trechos:
"4.3.3. POST: Creating a new resource that has yet to be identified by the
origin server; and Appending data to a resource's existing representation(s)."

"4.3.4. PUT: The PUT method requests that the state of the target resource be
created or replaced with the state defined by the representation
enclosed in the request message"

abracos
hoje
GOSTEI 2
Fernando Gaspar

Fernando Gaspar

29/09/2016

Boa pergunta Gladstone,
o pessoal sempre fica na duvida sobre essa questão.

Obrigado pelo esclarecimento Claudemir!
GOSTEI 2
Gladstone Matos

Gladstone Matos

29/09/2016

aprofundando os estudos, segue o que encontrei:

MSDN:

"In short, GET, PUT, and DELETE provide basic CRUD operations (create, retrieve, update, and delete) for the Web. "

Ou seja, no ponto de vista da MSDN, apenas estes tres verbos sao suficientes para prover um CRUD basico.


encontrei tambem um trecho interessante no java.net:

https://docs.oracle.com/cd/E19798-01/821-1841/gipys/index.html

"A common application pattern is to use POST to create a resource "

Ou seja, apesar de não ter sido definido originalmente como padrao para criacao de novos recursos, o uso de POST para inserir é considerado pelo java.net como um 'padrão comum';
GOSTEI 0
Gladstone Matos

Gladstone Matos

29/09/2016

Publicamos um artigo no site da DevMedia com um resumo dessa questão:

RESTful verbos HTTP
GOSTEI 1
Lucas Campos

Lucas Campos

29/09/2016

Por convenção, o POST é utilizado para a atualização de um dado já existente, enquanto o PUT é utilizado para inserção de um novo dado.
Nesse cenário, no POST é necessário informar o ID do dado que será alterado, enquanto no PUT esse id não é enviado pois ainda não existe no sistema.


Não seria o inverso?
GOSTEI 3
Gladstone Matos

Gladstone Matos

29/09/2016

É verdade Lucas! =:-O
GOSTEI 0
Ramon Barbosa

Ramon Barbosa

29/09/2016

Opa pessoal!

Bacana a explicação,
confesso que tinha algumas duvidas!





hahahaha.



valeu!
GOSTEI 0
Eduardo Chaves

Eduardo Chaves

29/09/2016

Rest




Restful










put

post








é isso ai
GOSTEI 0
Eduardo Chaves

Eduardo Chaves

29/09/2016

1br
2br

3br


4br



5br




6br





fim
GOSTEI 0
POSTAR