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:
- Abra o Thunder Client no Visual Studio Code.
- Clique em New Request e selecione o método PUT.
- Insira a URL, por exemplo: http://localhost:8080/alterar/1, substituindo 1 pelo ID da pessoa que deseja atualizar.
- No corpo da requisição, selecione JSON e adicione os novos dados da pessoa:
{
"nome": "Maria Souza",
"cidade": "Rio de Janeiro"
}
- 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.