gpt4 book ai didi

spring - 使用 RestTemplate - 如何将参数中的列表或数组从客户端传递到服务器

转载 作者:行者123 更新时间:2023-12-01 22:33:42 27 4
gpt4 key购买 nike

我有一个 List<Integer>我想在参数中发送到服务器,Spring 是否有任何方式为此提供支持?

我试过使用下面的代码,

restTemplate.exchange("http://xxx.xx.xx.xx:8081/api/cart-items?cartItemsId={cartItemsId[]}", 
HttpMethod.POST, httpEntity, Void.class, ArrayUtils.toPrimitive(cartItemsId.toArray(new Integer[cartItemsId.size()])));

但它会向服务器发送如下内容:

http://xxx.xx.xx.xx:8081/api/cart-items?cartItemsId=%5BI@18275d8c

如果我使用同样的问题:

restTemplate.exchange("http://xxx.xx.xx.xx:8081/api/cart-items?cartItemsId={cartItemsId[]}", 
HttpMethod.POST, httpEntity, Void.class, cartItemsId);

restTemplate.exchange("http://xxx.xx.xx.xx:8081/api/cart-items?cartItemsId={cartItemsId[]}", 
HttpMethod.POST, httpEntity, Void.class, cartItemsId.toArray(new Integer[cartItemsId.size()]));

有什么方法可以使用参数将此列表或数组发送到服务器?

最佳答案

构造一个 String通过加入 List<Integer> 的元素并将其作为 uri 变量提供。

String listOfIds = cartItemsId.stream().map(Object::toString).collect(Collectors.joining(","));
restTemplate.exchange("http://xxx.xx.xx.xx:8081/api/cart-items?cartItemsId={ids}",
HttpMethod.POST, httpEntity, Void.class, listOfIds);

关于spring - 使用 RestTemplate - 如何将参数中的列表或数组从客户端传递到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com