Sobes.tech
Senior

Qual é a diferença entre os métodos PUT e POST? Como eles se comportam ao reenviar a mesma solicitação? O que faz o PATCH?

sobes.tech IA

Resposta da IA

Os métodos HTTP PUT e POST diferem em semântica e comportamento:

  • PUT — método idempotente, usado para atualizar completamente um recurso na URL especificada. Reenviar a mesma solicitação PUT não alterará o resultado, pois o recurso será sobrescrito com os mesmos dados.

  • POST — método não idempotente, geralmente usado para criar novos recursos ou executar ações. Reenviar a solicitação POST pode criar duplicados ou repetir a operação.

  • PATCH — usado para atualização parcial do recurso, enviando apenas os campos modificados. Ao contrário do PUT, que substitui todo o recurso, o PATCH aplica alterações ao objeto existente.

Exemplo:

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

Reenviar PUT com os mesmos dados não alterará o recurso, reenviar POST criará um novo usuário, e reenviar PATCH atualizará a idade novamente.