Olá, boa tarde! Estou criando o método cadastrar POST onde ao tentar criar um novo topico, recebo 400.
Validei cada linha do código e está tudo ok, já tentei de tudo e nada soluciona o erro 400
*Meu código esta da seguinte forma: exatamente o mesmo da aula *
@PostMapping public ResponseEntity cadastrar (@RequestBody @Valid TopicoForm form, UriComponentsBuilder uriBuilder){ Topico topico = form.converter(cursoRepository); topicoRepository.save(topico);
URI uri = uriBuilder.path("/topicos/{id}").buildAndExpand(topico.getId()).toUri();
return ResponseEntity.created(uri).body(new TopicoDto(topico));
}
**E no Body do postman: **
{
"titulo": "Dúvida curso",
"mensagem": "Texto da mensagem",
"nomeCurso": "Spring Boot"
}
**Recebo essa resposta**
<body>
<h1>HTTP Status 400 – Bad Request</h1>
<hr class="line" />
<p><b>Type</b> Status Report</p>
<p><b>Description</b> The server cannot or will not process the request due to something that is perceived to be a
client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
</p>
<hr class="line" />
<h3>Apache Tomcat/9.0.48</h3>
E criei o método detalhar que é um GET, que faz a busca por um ID, no meu banco H2 tenho 3 topicos cadastrados e não consigo trazer nenhum deles, pois recebo um 404 notFound
Segue como o meu código ficou @GetMapping("/topicos/{id}") public TopicoDto detalhar(@PathVariable Long id){ Topico topico = topicoRepository.getById(id); return new TopicoDto(topico); }
No H2 console
*No postman estou buscando da seguinte forma: * http://localhost:8080/topicos/3
A resposta é que recebo é { "timestamp": "2021-07-17T16:25:23.891+00:00", "status": 404, "error": "Not Found", "message": "No message available", "path": "/topicos/3" }
OBS: quando utilizo o método lista, todos os meu 3 topicos é listados no Postman
Rodrigo, me de uma luz, por favor!