+-
java-URIBuilder和列表查询参数
我正在使用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和列表查询参数 - 乐贴网