+-

我正在使用apache URIBuilder为Rest服务的GET方法构建查询字符串.
@RequestMapping(value="/remote")
public Return getTest(Ordine ordine) throws Exception{
...
}
这是输入对象:
public class Ordine{
private List<String> codici;
//..get...set..
}
我不明白如何将此字符串列表设置为查询参数.
我尝试两次设置参数:
URIBuilder builder = new URIBuilder()
.setHost("localhost")
.setPort(8080)
.setScheme("http")
.setPath("/remote")
.setParameter("codici", codicilist.get(0))
.setParameter("codici", codicilist.get(1));
但是第一个参数将被第二个参数覆盖.
然后,我尝试在参数名称后附加[]:
URIBuilder builder = new URIBuilder()
.setHost("localhost")
.setPort(8080)
.setScheme("http")
.setPath("/remote")
.setParameter("codici[]", codicilist.get(0))
.setParameter("codici[]", codicilist.get(1));
但是它只是以名称“ codici []”发送,并且第一个参数被覆盖.
然后,我尝试用逗号分隔值:
URIBuilder builder = new URIBuilder()
.setHost("localhost")
.setPort(8080)
.setScheme("http")
.setPath("/remote")
.setParameter("codici", String.join(",",codicilist));
但是,如果失败…我该如何设置参数列表?
最佳答案
在示例中,只需使用addParameter而不是setParameter. setParameter将覆盖您的参数(如果已存在). addParameter将添加一个新参数(忽略现有参数).
点击查看更多相关文章
转载注明原文:java-URIBuilder和列表查询参数 - 乐贴网