使用URLConnection的REST Web服务的消耗

时间:2019-06-11 12:13:22

标签: java rest

我正在尝试使用Java(HttpURLConnection和InputStream)使用RESTFUL Web服务。我能够使用BufferedReader打印响应,但它也会返回响应标头,并且格式导致将其转换为Java的问题POJO。

我尝试使用URLConnection,然后检索输入流并将其传递给ObjectMapping(由Jackson提供)

   final URL url = new URL("url");
   final HttpURLConnection uc = (HttpURLConnection) url.openConnection();
   uc.setRequestMethod("GET");
   final ObjectMapper objectMapper = new ObjectMapper();
   MyData myData = objectMapper.readValue(uc.getInputStream(), MyData.class);

错误消息:“由于输入结束,没有内容要映射\ n”

1 个答案:

答案 0 :(得分:0)

在您的代码中,没有显示实际读取数据的位置以及声明和填充output变量的位置。就像现在的代码一样,从您的休息服务中读取的内容似乎不正确。但是,我建议您不要使用自己的代码来读取其余URL,而是建议使用为您执行此操作的3d派对库。这里有一些建议:Apache Http ClientOK Http client,最后是我最喜欢的-MgntUtils Http Client(由我编写和维护的库),这里是HttpClient javadoc,这是最新的{{ 3}},这里的Maven artifacts for MgntUtils library包含带有源和Javadoc的库本身。选择一些Http客户端并使用该客户端读取内容,然后就可以使用该内容。