Procedimento para converter dados
- Criar uma classe ConverteDados, no pacote service
-
Criar um objeto ObjectMapper
public ObjectMapper mapper = new ObjectMapper();
- Criar uma interface IConverteDados
-
Criar o método obterDados
Este método retorna uma classe genérica <T> T
Ao chamar o método posso informar que vou receber uma String e informar a classe que irá retornar obterDados( String json, Class<T> classe)
T obterDados(String json, Class classe); -
Implementar a interface IConverteDados na classe ConverteDados
public class ConverteDados implements IConverteDados {}
-
O Método Obter dados utiliza readValue do objeto mapper para receber um json e tentar converter para a classe passada
@Override public <T> T obterDados(String json, Classclasse) { try { return mapper.readValue(json, classe); } catch (JacksonException e) { throw new RuntimeException(e); } } -
Utilizando o conversor
ConsumoAPI consumoAPI = new ConsumoAPI(); var json = consumoAPI.obterDados("https://www.omdbapi.com/?t=gilmore+girls&apikey=77149450"); System.out.println(json); ConverteDados converteDados = new ConverteDados(); DadosSerie dados = converteDados.obterDados(json, DadosSerie.class); System.out.println(dados);