O método PUT é utilizado para transportar dados de um formulário no cliente para o servidor e também armazenar no filesystem do servidor tais dados, o que o diferenciaria do POST ?
Obrigado.
O método PUT é utilizado para transportar dados de um formulário no cliente para o servidor e também armazenar no filesystem do servidor tais dados, o que o diferenciaria do POST ?
Obrigado.
Olá Marcelo,
praticamente todos os métodos HTTP servem para transportar dados a diferença é a maneira que alguns o fazem. Get pela própria URL envia os parâmetros, POST/PUT/DELETE/PATCH no corpo da requisição.
A diferença é semântica em relação a PUT e POST. Post para criação, PUT/PATCH para atualização e DELETE para a remoção.
Na prática alguns serviços recebem até tudo por POST mas o HTTP tem verbos para cada operação.
Deu para ajudar? Abraços
Então, na verdade eu perguntei se o PUT transporta dados do formulário também assim como o POST.
Por formulário vc só consegue fazer POST ou GET. O HTML não suporta outros métodos além desses dois.
Então na verdade nem se consegue usar PUT em um formulário HTML.
Fábio, em que outras situações posso usar os outros verbos HTTP ?
Ouvi falar que o verbo PUT se usa com web services. Pode me escrever um exemplo básico, por favor ?
Obrigado.
Oi Marcelo,
novamente volto a avisá-lo que esse conteúdo está sendo mostrado lá no capítulo de REST, o sétimo. Comentamos juntamente sobre webservices e a função de cada verbo.
Para outras dúvidas abra um outro tópico para facilitar e ajudar a outros alunos.
Fábio,
Vi a lição 07 e não achei um exemplo básico com o verbo PUT. Apenas a explicação dele.
Atenciosamente.
Oi Marcelo,
A diferença do POST e do PUT é semântica. A principal diferença é que o PUT é idempotente, ou seja, tem a capacidade de ser repetido várias vezes sem causar efeitos colaterais.
Um exemplo:
1) Se voce quer criar ou atualizar um novo Produto e já sabe o endereço dele, você faz um PUT: PUT /produto/1234
2) Se voce quer criar o novo Produto mas seu servidor que vai dizer a URL final (ex. gerar o ID) e você usa um endpoint generico, use POST: POST /produtos
Repare que o request em (1) pode ser repetido multiplas vezes sem problemas. Vc vai sobrescrever os dados do mesmo produto na mesma URL sempre. Sem problemas.
Ja o (2) nao. Se fizer esse POST varias vezes vc vai cadastrar varios produtos diferentes.