ANÚNCIO

~/questoes/programacao

Qual método HTTP deve ser utilizado para atualizar um recurso existente?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Como Criar uma API REST com Node.js e Express em 16 Minutos
Para fixar

Métodos HTTP para Atualizar Recursos: PUT vs PATCH

Conceito central

Em uma API REST, atualizar um recurso existente requer métodos HTTP específicos. PUT e PATCH são os dois principais métodos para essa tarefa, cada um com um comportamento diferente: PUT substitui o recurso inteiro, enquanto PATCH modifica apenas os campos que você envia.

Por que essa resposta faz sentido

PUT e PATCH são os métodos corretos para atualizar recursos. Use PUT quando precisar substituir completamente o recurso com novos dados, e PATCH quando quiser atualizar apenas alguns campos específicos, mantendo o resto intacto.

Armadilhas comuns

  • Confundir POST (criar) com PUT/PATCH (atualizar). POST cria um novo recurso, enquanto PUT e PATCH modificam um existente.
  • Achar que PUT e PATCH fazem a mesma coisa. PUT substitui tudo, PATCH muda apenas o que você envia – a diferença é importante em casos de atualizações parciais.
  • Usar DELETE pensando que remove a versão antiga para permitir uma atualização. DELETE remove permanentemente; para atualizar, use sempre PUT ou PATCH.

Entenda as alternativas

A

PUT substitui o recurso inteiro com os dados fornecidos, enquanto PATCH atualiza apenas os campos enviados. Ambos são apropriados dependendo de sua necessidade: use PUT para uma substituição completa e PATCH para mudanças parciais. Esta é a abordagem correta em APIs REST.

B

DELETE é usado para remover um recurso, não para atualizá-lo. Criar uma nova versão após deletar a antiga não é uma prática recomendada e causaria perda de dados intermediários. DELETE e POST juntos não substituem PUT ou PATCH.

C

GET é apenas para recuperar dados, não para modificá-los. Embora seja bom visualizar um recurso antes de atualizar, GET não executa nenhuma ação de atualização. Métodos idempotentes como GET não devem alterar o estado do servidor.

D

POST é usado para criar novos recursos, não para atualizar existentes. Além disso, POST não mantém o recurso original intacto de forma segura. Usar POST para atualização viola os padrões REST e cria confusão sobre a intenção da requisição.

Dica prática: Na prática com Express, use PUT quando o usuário enviar um formulário completo para substituir dados (por exemplo, editar perfil inteiro) e PATCH para atualizações pontuais (mudar só o email ou foto). Isso torna sua API mais previsível e fácil de usar.

Revise pensando: Se você quer atualizar apenas o campo 'email' de um usuário mantendo os outros dados, qual método HTTP você escolheria: PUT ou PATCH? Por quê?