Bom dia,
No seu controller, você mapeou o metodo com a anotação tipo isso @PutMapping("/topicos/id)" ?
Bom dia Flávio, tinha mapeado sim, o erro na verdade foi porque acabei usando o getById no lugar do getOne, por ter visto em outra leitura que a partir do 2.5 não usava mais getOne, mas coloquei de volta e funcionou apesar de ficar riscado, obrigado pela atenção.
Bom,
Todo achando estranho, que acontece que o estes métodos foram desprecatados, uma sugestão da documentação depende da sua versão é usar o getReferenceById. Mas como não temos uma visão do seu código, não dá para saber se o problema é este ou isso é apenas um efeito colateral, por exemplo quando deu erro foi de um ID que estava na base?, pois no seu código se o id não existir vai dar erro pois o topico ficará nulo, então minha sugestão é fazer uma validão se o topico diferente de nulo:
Topico topico = topicoRepository.getOne(id);
if(topico != null) {
topico.setTitulo(.....)
}
return topico;
Acredito que não existia o id que eu estava usando na base, pois a única alteração que fiz foi no getOne mesmo, então no caso estava dessa forma getById(id); (acredito que no lugar do id para ter funcionado dessa forma eu teria que criar um id no tópico que eu fosse alterar e usar ele aqui não é isso ?
https://github.com/anidio/API_Rest_Springboot_alura
esse é o repositório que estou usando, como sou iniciante em java e spring não sei se está claro o que estou falando então você pode ver no github o código completo até aqui.
Olá,
Então faltou os tratamentos para validares se estava nulo, pois no código não tratamento, e o erro explode. No caso, par ficar mais elegante se retornar nulo seria colocar uma throw new Excpetion("Id não existe");
Mas está bom o seu código, só lembre-se sempre que vamos usar algo do objeto validar se ele não está nulo antes.