java - 在 Spring Framework 中使用 WebClient 调用 REST 时出错
问题描述
我正在尝试使用 WebClient 进行 REST 调用,但是我无法传递请求正文。它显示错误 - 类型捕获#1-of 的方法 syncBody(body) 未定义?
public static String getResult(Body body) {
WebClient webClient = WebClient.builder()
.defaultHeader(HttpHeaders.CONTENT_TYPE,MediaType.APPLICATION_JSON_VALUE)
.build();
String result= webClient.get()
.uri(URL)
.syncBody(body)
.retrieve()
.bodyToMono(String.class)
.block();
}
它显示错误 - 类型捕获#1-of 的方法 syncBody(body) 未定义?
解决方案
我可能遗漏了一些东西,但我认为你不能使用WebClient
. 实际上,在 spring boot 2.0.5 中,这甚至都没有编译。
发生的情况是,当您调用时,.get()
您会得到一个RequestHeadersUriSpec
不支持body
orsyncBody
方法的实例,而在调用post
(或put
等)时,您会得到一个RequestBodyUriSpec
不支持 or 方法的实例