当前位置: 首页 > 知识库问答 >
问题:

Spring RestTemplate:在GET请求中发送字符串的数组/列表

翟源
2023-03-14

我试图通过Spring RestTemplate将字符串数组/列表发送到REST服务器。

        private List<String> articleids = new ArrayList<>();
        articleids.add("563e5aeb0eab252dd4368ab7");
        articleids.add("563f2dbd9bb0152bb0ea058e");         

        final String url = "https://10.0.3.2:5000/getsubscribedarticles";

        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url)
                .queryParam("articleids", articleids);
        java.net.URI builtUrl = builder.build().encode().toUri();
        Log.e("builtUrl", builtUrl.toString());
 @RequestMapping(value = "/getsubscribedarticles", method = RequestMethod.GET)
public List<Posts> getSubscribedPostFeed(@RequestParam("articleids") List<String> articleids){
     for (String articleid : articleids {
        logger.info(" articleid : " + articleid);
    }
}

.13:11:35.370[http-nio-8443-exec-5]信息C.F.S.I.ServiceGatewayImpl-articleid:563F2DBD9BB0152BB0EA058E]

我可以看出这是错误的,因为列表不应该在第一项上有一个“[”,而在最后一项上有一个“]”。

我读过如何通过Spring RestTemplate将列表或字符串数组传递给getForObject,但它实际上并没有回答这个问题。

共有1个答案

嵇星海
2023-03-14

在使用Java8时,这对我起到了作用:

UriComponentsBuilder builder = fromHttpUrl(url);
builder.queryParam("articleids", String.join(",", articleids));
URI uri = builder.build().encode().toUri();

它形成如下URL:

https://10.0.3.2:5000/getsubscribedarticles?articleids=123,456,789
 类似资料:
  • 请求方式: "|3|1|url|\r" 参数: url 设置Get请求的url链接 返回值: "|3|code|data|\r" 参数: code http请求返回的成功或者错误码, 成功:code = 200 获取数据失败:code = -1 http请求字段错误:code = 1 data http请求返回的数据 Arduino样例: softSerial.print("|3|1|http:/

  • 我需要在andoid应用程序发送超文本传输协议获取请求。 清单 然后我按下发送请求按钮,应用程序崩溃。 日志 2020-06-08 13:37:58.8327039-7039/com。实例远程E/AndroidRuntime:致命异常:主进程:com。实例远程,PID:7039 java。lang.IllegalStateException:无法在androidx上为android:onClick

  • > 我用了但它在发送之前合并了所有数据,因为它不是我在mapping类上收到的字符串列表,而是合并了单个字符串。

  • 问题内容: 我尝试使用Apiary,并制作了一个通用模板以将JSON发送到模拟服务器并具有以下代码: 这段代码无法正确发送JSON,但我不知道为什么。每个调用中的JSON字符串可以不同。我不能用这个。 问题答案: 我对打n并不熟悉,但是使用Golang的程序包可以很好地工作(游乐场):

  • 我尝试使用Apariy,制作了一个通用模板,将JSON发送到模拟服务器,并获得以下代码: 这段代码不能正确发送JSON,但我不知道为什么。JSON字符串可以在每次调用中不同。我不能为此使用。