29 - Alterar (PATCH)

Em alguns casos, não queremos atualizar todos os dados de um registro, mas apenas um ou dois campos. Para isso, utilizamos o método @PatchMapping, ideal para alterações parciais.

Exemplo de Implementação

Dentro do seu controle, você pode criar um método assim:


@PatchMapping("/")
public PessoaModelo alterarPessoaParcial(@RequestBody PessoaModelo pm) {
    return pr.save(pm);
}

Esse método permite atualizar apenas os campos enviados no corpo da requisição. Os campos não enviados permanecerão inalterados, desde que a lógica no repositório e no banco de dados suporte isso.

Testando com Thunder Client

  1. Abra o Thunder Client e selecione o método PATCH.
  2. Digite a URL da sua API: http://localhost:8080.
  3. Vá até a aba Body e selecione JSON.
  4. Informe apenas os campos que deseja alterar, por exemplo:

{
  "codigo": 1,
  "idade": 45
}

Observação Importante

O campo codigo é essencial para que o Spring Boot identifique qual registro deve ser alterado.

Ao enviar apenas um campo (como idade), o restante permanece intacto — desde que o comportamento do método save() seja compatível com a lógica de atualização parcial.

Dica

Essa abordagem é mais útil quando combinada com um serviço que busca o registro original, atualiza os campos individualmente e depois salva, garantindo que dados não enviados não sejam apagados.

Clique aqui para se tornar membro do canal

Abaixo segue nossa aula no YouTube: