尝试在春季使用 webClient 在 post 请求中发送字符串列表
Posted
技术标签:
【中文标题】尝试在春季使用 webClient 在 post 请求中发送字符串列表【英文标题】:Trying to Send list of string in post request using webClient in spring 【发布时间】:2020-12-24 02:25:14 【问题描述】:我正在尝试使用 webClient 发送字符串列表,但我是 遇到异常。
我使用了Flux.fromIterable(strList)
,但它合并了之前的所有数据
发送,因为那个而不是我收到的字符串列表
在映射类上组合单个字符串。
List<String> str = new ArrayList<>();
str.add("korba");
str.add("raipur");
str.add("bhilai");
Flux<Object> responsePost = webClient.build()
.post()
.uri(url)
.header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.body(Flux.fromIterable(str), String.class)
.retrieve()
.bodyToFlux(Object.class);
【问题讨论】:
【参考方案1】:您不能发送Flux
字符串,因为它将它们组合成一个字符串。看,
WebClient bodyToFlux(String.class) for string list doesn't separate individual value
您正在Flux.fromIterable(str)
创建一个Flux
字符串。您需要做的是将字符串放入包装类或发送列表的Mono
。参见,例如,Reactive Programming: Spring WebFlux: How to build a chain of micro-service calls?
【讨论】:
感谢它的工作,我创建了新类并创建了列表变量。使用类的引用能够访问 API。以上是关于尝试在春季使用 webClient 在 post 请求中发送字符串列表的主要内容,如果未能解决你的问题,请参考以下文章
使用 WebClient 将带有标头的请求发送到第三方 api