首页 > 解决方案 > 在 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) 未定义?

标签: javarestspring-bootspring-webclient

解决方案


我可能遗漏了一些东西,但我认为你不能使用WebClient. 实际上,在 spring boot 2.0.5 中,这甚至都没有编译。

发生的情况是,当您调用时,.get()您会得到一个RequestHeadersUriSpec不支持bodyorsyncBody方法的实例,而在调用post(或put等)时,您会得到一个RequestBodyUriSpec不支持 or 方法的实例


推荐阅读