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.