【发布时间】:2025-12-28 22:15:06
【问题描述】:
我正在使用 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));
但如果失败...我该如何设置参数列表?
【问题讨论】:
标签: java web-services rest query-parameters uribuilder