Estou recebendo um erro ao fazer POST para um aplicação rest no Spring Boot 2.2.9.
2020-08-06 15:30:11.994 WARN 213101 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('5' (code 53)): was expecting double-quote to start field name; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('5' (code 53)): was expecting double-quote to start field name
Quero receber um valor em um campo BigDecimal no spring, método que recebe o JSON:
@PostMapping
public ResponseEntity<TopicoDTO> cadastrar(@RequestBody TopicoForm form, UriComponentsBuilder uriBuilder) {
Topico topico = form.converter(topicoRepositorio);
topicoRepositorio.save(topico);
URI uri = uriBuilder.path("/topicos/{id}").buildAndExpand(topico.getId()).toUri();
return ResponseEntity.created(uri).body(new TopicoDTO(topico));
}
String e int funciona, mas eu quero ver o funcionamento com BigDecimal.
link do projeto do curso: https://caelum-online-public.s3.amazonaws.com/1236-api-com-spring-boot/04/1236-springapi-aula4.zip
Vi em um forum isso:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
Tenho que converter os dados quem vem do JSON?