RESTful: PUT x POST
bom dia a todos
Dentro do contexto REST, qual a diferenca entre PUT e POST? obrigado!
Dentro do contexto REST, qual a diferenca entre PUT e POST? obrigado!

Gladstone Matos
Curtidas 1
Melhor post

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.
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
29/09/2016
show Claudemir, muito obrigado!
GOSTEI 1

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
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
29/09/2016
Boa pergunta Gladstone,
o pessoal sempre fica na duvida sobre essa questão.
Obrigado pelo esclarecimento Claudemir!
o pessoal sempre fica na duvida sobre essa questão.
Obrigado pelo esclarecimento Claudemir!
GOSTEI 2

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';
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
29/09/2016
GOSTEI 1

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.
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
29/09/2016
É verdade Lucas! =:-O
GOSTEI 0

Ramon Barbosa
29/09/2016
Opa pessoal!
Bacana a explicação,
confesso que tinha algumas duvidas!
hahahaha.
valeu!
Bacana a explicação,
confesso que tinha algumas duvidas!
hahahaha.
valeu!
GOSTEI 0

Eduardo Chaves
29/09/2016
Rest
Restful
put
post
é isso ai
Restful
put
post
é isso ai
GOSTEI 0

Eduardo Chaves
29/09/2016
1br
2br
3br
4br
5br
6br
fim
2br
3br
4br
5br
6br
fim
GOSTEI 0