如何在UriBuilder.fromUri中指定RESTful请求参数?

时间:2014-02-25 02:18:40

标签: java api rest rest-client

我是RESTful webservices的新手。我试图从RIPE Atlas的RESTful Web服务获取JSON文件。 API的网址为https://stat.ripe.net/data/abuse-contact-finder/data.json?resource=193/23。请在下面找到我的代码以检索JSON文件:

      WebResource service = client.resource(UriBuilder.fromUri("https://stat.ripe.net/data/abuse-contact-finder/data.json").build());
      // getting JSON data
      System.out.println(service.path("resource=193/23").accept(MediaType.APPLICATION_JSON).get(String.class));

在上面这种情况下,我从服务器收到400 Bad请求。当我提供完整的URL,以及'fromUri'中的请求参数“?resource = 193/23”时,它工作正常。但是,当我像上面那样在'service.path'中指定request参数时,它不是。我究竟做错了什么?我确信这是一个愚蠢的问题,请原谅我的无知,但有人可以指导我朝正确的方向发展吗?

1 个答案:

答案 0 :(得分:1)

我认为您希望以不同方式添加查询参数。

 service.queryParam("resource","193/23").accept(MediaType.APPLICATION_JSON).get(String.class));

MultivaluedMap queryParams = new MultivaluedMapImpl();
queryParams.add("resource","193/23";
  ClientResponse response = service.queryParams(queryParams).get(String.class));

我建议您考虑熟悉Jax-RS API here,它也有很好的路径描述。