Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro 405 no Postman, consigo fazer o Get, mas quando tento o PUT acontece o seguinte erro:

5 respostas

Bom dia,

No seu controller, você mapeou o metodo com a anotação tipo isso @PutMapping("/topicos/id)" ?

solução!

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.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software