1
resposta

[Dúvida] Sobrescrever Dados

Ao utilizar o método post, não para adicionar mas para atualizar algum livro, como no exemplo, o objeto Json será sobrescrito? ou será necessário utilizar do Delete para só então realizar o post?

Outra dívida, qual q diferença entre Patch e Post?

1 resposta

Oi, Rafael!

Vamos por partes para esclarecer suas dúvidas.

  1. Sobrescrever Dados com POST: O método POST é geralmente utilizado para criar novos recursos. No entanto, ele pode ser usado para atualizar um recurso existente, mas isso não é uma prática comum. Normalmente, quando você usa POST para atualizar, o recurso será sobrescrito com os dados fornecidos. Não é necessário usar DELETE antes de um POST para atualização. Por exemplo, se você enviar um POST para /books/1 com um novo objeto JSON, o livro com ID 1 será atualizado com os novos dados.

  2. Diferença entre PATCH e POST:

    • POST: Como mencionado, é usado principalmente para criar novos recursos. Quando usado para atualizar, ele geralmente sobrescreve o recurso inteiro.
    • PATCH: É especificamente utilizado para atualizar parcialmente um recurso. Ou seja, você pode enviar apenas os campos que deseja alterar. Por exemplo, se você tem um livro com várias informações e deseja atualizar apenas o título, você enviaria uma requisição PATCH com o novo título, e somente esse campo seria alterado, mantendo o resto dos dados intactos.

Aqui está um exemplo prático para ilustrar:

  • POST para criar um novo livro:

    POST /books
    {
      "title": "Novo Livro",
      "author": "Autor Desconhecido"
    }
    
  • PATCH para atualizar apenas o título de um livro existente:

    PATCH /books/1
    {
      "title": "Título Atualizado"
    }
    

Bons estudos!