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.