Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jackson

Por que o Spring usou a biblioteca Jackson e como ele entende que é necessário fazer a conversão para JSON?

Jackson seria apenas para objetos?

1 resposta
solução!

Oi WG,

No Java existem algumas bibliotecas para fazer conversão Java <-> JSON, dentre elas: Jackson, Jettison e Gson.

O Spring por padrão utiliza o Jackson, mas é possível substituir por essas outras, caso você queira.

O Jackson funciona da seguinte maneira:

ObjectMapper mapper = new ObjectMapper();
TopicoDto topico = mapper.readValue(json, TopicoDto.class);

A classe ObjectMapper do Jackson é que faz a conversão da String que contém o Json para um objeto java equivalente.

Nas classes RestController por padrão o Spring considera automaticamente que vamos devolver no formato JSON, e por isso ele chama o Jackson para converter nosso DTO em JSON.

Mas é possível alterar para outro formato, por exemplo XML:

@GetMapping(produces = MediaType.APPLICATION_XML_VALUE)

Bons estudos!