Programming On Mars Logo
  • Início
  • Artigos
  • Laboratórios
Programming On Mars Logo
  • Início
  • Artigos
  • Laboratórios

  • Andre Lucas
  • Thu Jul 18 2024

Diferença Entre PUT e PATCH

Olá, o objetivo deste formato de história é ser rápido e te contar fundamentos onde às vezes não nos questionamos no nosso dia a dia.

Qual é a principal diferença entre PUT e PATCH?

Então, vamos criar um cenário onde você tem um e-commerce e um endpoint é responsável por criar um produto.

Diagrama de serviço e-commerce

Após criar um novo produto. Percebemos que o preço estava errado. A primeira coisa normal é ter um endpoint para "atualizar" a entidade inteira passando o ID.

Diagrama de atualização PUT

Normalmente esta é uma situação comum. Alguns desenvolvedores diriam que PUT é para atualizar, mas não é realmente, PUT é para substituir completamente ou criar.

Sim, o produto 111 poderia não existir e poderíamos criá-lo.

Para melhorar isso, podemos usar o verbo PATCH, porque só queremos mudar o preço, ok?

Diagrama PATCH

PATCH

Então o patch é para atualizar campos individuais dos recursos existentes.

Poderíamos fazer algo como

Diagrama de mudança de preço PATCH

Se o produto 111 não existir, receberemos um erro.

Claro que no cenário PUT, podemos verificar se existe uma entidade antes ou dependendo da forma que estamos implementando a camada de banco de dados da nossa aplicação provavelmente também receberemos um erro, mas em teoria é possível criar em vez de retornar um erro.

Conclusão

Se você quiser ter um endpoint que apenas modifica campos individuais de acordo com RFC 5789 deve usar o verbo PATCH.

Se você quiser ter um endpoint para modificar completamente um recurso devemos usar o verbo PUT de acordo com RFC 2616.

Tags:
REST APIFundamentosProgramaçãoEngenharia de Software
  • Política de Privacidade
  • Termos de Serviço
  • Contato
© 2025 Programming On Mars. Todos os direitos reservados.