12 - Rota de alteração

Agora que já temos as rotas de cadastro e seleção funcionando, vamos implementar a rota para atualizar os dados de uma pessoa existente.

No PessoaController, adicione o seguinte método:

// Rota para alterar
@PutMapping("/alterar/{id}")
public Pessoa alterar(@PathVariable Integer id, @RequestBody Pessoa p) {
    p.setId(id);
    return repositorio.save(p);
}

Explicando passo a passo:

  • @PutMapping("/alterar/{id}") – cria um endpoint HTTP PUT acessível em /alterar/{id}, onde {id} é o identificador da pessoa que queremos atualizar.
  • @PathVariable Integer id – captura o valor do id informado na URL.
  • @RequestBody Pessoa p – recebe os novos dados da pessoa no corpo da requisição em formato JSON.
  • p.setId(id) – garante que a pessoa que será atualizada corresponde ao ID informado.
  • repositorio.save(p) – salva a pessoa no banco. Se o ID já existir, o registro será atualizado.

Para testar a rota, podemos novamente usar o Thunder Client, mas outras ferramentas como Postman ou Insomnia também funcionam:

  1. Abra o Thunder Client no Visual Studio Code.
  2. Clique em New Request e selecione o método PUT.
  3. Insira a URL, por exemplo: http://localhost:8080/alterar/1, substituindo 1 pelo ID da pessoa que deseja atualizar.
  4. No corpo da requisição, selecione JSON e adicione os novos dados da pessoa:
{
    "nome": "Maria Souza",
    "cidade": "Rio de Janeiro"
}
  1. Clique em Send e verifique se a pessoa foi atualizada corretamente no banco.

No vídeo abaixo, demonstro como atualizar uma pessoa usando o Thunder Client, garantindo que nossa rota PUT está funcionando corretamente.