Olá pessoal!
Decidi fazer esse post, pois precisei fazer uma conversão usando classes genéricas.
É um tanto simples, mas que acredito que posso servir de ajuda futuramente, tanto pra mim quanto para outros devs.
O que eu precisava, era pegar um retorno JSON vindo de um serviço rest.
O código fico parecido com isso:
CloseableHttpClient client = HttpClients.createDefault();
// Codigos omitidos...
response = client.execute(request);
//Codigos omitidos...
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));
ObjectMapper mapper = new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
MensagemApiDTO<ProdutoDTO> resposta = mapper.readValue(br.readLine(), new TypeReference<MensagemApiDTO<ProdutoDTO>>() {});
ProdutoDTO dto = resposta.getDto();
O responsável por fazer a conversão é esse cara:
mapper.readValue(br.readLine(), new TypeReference<MensagemApiDTO<ProdutoDTO>>() {});
O TypeReference faz a conversão para o seu objeto genérico.
Basicamente foi isso.
Como o projeto não usa spring, essa foi a maneira implementada.
Bom é isso, espero que esse post possa ter ajudado.
Criticas e sugestões são bem-vindas.
Obrigado
Top comments (0)