我希望将此格式的字符串{“filters”:{“keyword”:“abc”}}作为过滤器或搜索参数传递给REST api url的GET方法。
Client client = Client.create();
WebResource webResource = client.resource(url);
ClientResponse response2 = null;
MultivaluedMap<String, String> queryParams;
queryParams = new MultivaluedMapImpl();
queryParams.add("{filters","keyword:abc");
response2 = webResource.queryParams(queryParams).header("Content-Type", "application/json;charset=UTF-8").get(ClientResponse.class);
System.out.println("Response Code = "+response2.getStatus());
outputFilter = response2.getEntity(String.class);
上面的内容对我不起作用,因为过滤器会在url的末尾附加 基本上我想实现REST api + Jersey中提到的,就像下面提到的那样
curl -i -H "accept: application/json" -H "Content-type: application/json" -X GET -d '{ "filters": { "keyword":"xyz" } }' ../v1/users?token=[api_token] .
是否有另一种方法可以将字符串作为输入参数传递给GET方法并检索相关结果 请建议是否有任何技术,我可以将上述字符串传递给GET方法并根据应用的过滤器检索数据
提前致谢。
答案 0 :(得分:0)
GET请求不应该有请求正文/内容。因此,您不应该尝试使用GET提交数据。提到的CURL命令看起来错误地将-d
参数与GET一起使用。
您需要通过URL将任何参数传递给GET。
此外,代码看起来很奇怪。你真的想把钥匙放在钥匙里吗?
queryParams.add("{filters","keyword:abc");
我会参考API文档,了解如何提供过滤条件。