Sobes.tech
Junior — Middle

Pode explicar as diferenças entre os métodos HTTP PUT e PATCH no contexto da API REST?

sobes.tech IA

Resposta da IA

Os métodos HTTP PUT e PATCH são usados para atualizar recursos na API REST, mas diferem na sua semântica e comportamento:

  • PUT — é um método idempotente que substitui todo o recurso no servidor por uma nova representação enviada no corpo da requisição. Se o recurso não existir, pode ser criado. Requisições repetidas com os mesmos dados terão o mesmo resultado.

  • PATCH — é usado para atualização parcial de um recurso. No corpo da requisição, são enviados apenas os campos que precisam ser alterados, os demais permanecem inalterados. PATCH não é necessariamente idempotente, embora possa ser.

Exemplo:

PUT /users/123
{
  "name": "Иван",
  "email": "ivan@example.com"
}

Substituirá todo o recurso do usuário 123 por um novo objeto com nome e email.

PATCH /users/123
{
  "email": "newemail@example.com"
}

Atualizará apenas o campo email, o nome permanecerá igual.