如何在Spring的Rest模板或URI Builder中使用管道多值查询参数

时间:2013-04-11 21:06:24

标签: java spring resttemplate

我正在寻找一个Spring或Apache解决方案,它将多个查询参数与管道字符分开。我甚至会将一个将数组或字符串集合减少的库放入一个用管道字符分隔的字符串中。

MultiValueMap<String, String> multiValueMap = new HttpHeaders();
multiValueMap.put("arg1", new List<String>(){{
    add("foo");
    add("bar");
}});

URIBuilder uriBuilder = URIBuilder.fromUri("foo.com");
uriBuilder.queryParams( queryArguments );

RestTemplate restTemplate = new RestTemplate();
String lazyResponse = restTemplate.getForObject(uriBuilder.build(), String.class )

否则我就会留下一个轮子。

public String makeHttpParameter(List<String> args, char seperator){
    Iterator<String> iterator = args.iterator();
    StringBuilder builder = new StringBuilder();

    while( iterator.hasNext() ){
        builder.append(iterator.next());
        if(iterator.hasNext()){
            builder.append(seperator);
        }
    }
    return builder.toString();
}

0 个答案:

没有答案