返回的 REST api 响应为空

Returned REST api response is empty

我正在使用 Jersey REST 客户端调用 Java 中的 REST api。 我的代码如下所示,

    Client client = Client.create();
    WebResource webResource = client.resource(http://openlibrary.org/api/books).queryParam("bibkeys", "ISBN:0201558025");
    ClientResponse response = webResource.accept(MediaType.APPLICATION_JSON).get(ClientResponse.class);
    String responseData = response.getEntity(String.class);
    System.out.println(response.getStatus());
    System.out.println("Response is : " + responseData);

我正在调用 Internet 上可用的示例 API,我的程序返回 200 状态,但返回的内容为空。即 var _OLBookInfo = {};

当我在浏览器中复制并粘贴相同的 link 时,我得到了书籍详细信息等数据。即

var _OLBookInfo ={  
   "ISBN:0201558025":{  
      "bib_key":"ISBN:0201558025",
      "preview":"restricted",
      "thumbnail_url":"https://covers.openlibrary.org/b/id/135182-S.jpg",
      "preview_url":"https://archive.org/details/concretemathemat00grah_444",
      "info_url":"http://openlibrary.org/books/OL1429049M/Concrete_mathematics"
   }
};

我的代码有什么问题?

基于documentationqueryParam returns一个新的webResource,并没有修改当前的。 将查询参数添加为

        WebResource webResource = client.resource("http://openlibrary.org/api/books")
            .queryParam("bibkeys", "ISBN:0201558025");

应该可以解决您的问题。