我是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参数时,它不是。我究竟做错了什么?我确信这是一个愚蠢的问题,请原谅我的无知,但有人可以指导我朝正确的方向发展吗?
答案 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,它也有很好的路径描述。