public static <T> T getByUrl(String requestUrl, Class<T> classOfT) { CloseableHttpClient httpClient = HttpClients.createDefault(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(MapperFeature.AUTO_DETECT_CREATORS, true); objectMapper.configure( DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.registerModule(new JavaTimeModule()); objectMapper .configure( com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); T r = null; try { HttpGet getRequest = new HttpGet(requestUrl); HttpResponse response = httpClient.execute(getRequest); HttpEntity entity = response.getEntity(); String entityStr = EntityUtils.toString(entity, "UTF-8"); // System.out.println(entityStr); r = objectMapper.readValue(entityStr, classOfT); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return r; }
我当时把该方法对应的文件名命名为:HttpClientUtil
Thanks,
Ivan