首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring 5 WebClient-使用groovy无法识别检索方法,但可以使用java

Spring 5 WebClient-使用groovy无法识别检索方法,但可以使用java
EN

Stack Overflow用户
提问于 2019-05-21 23:04:41
回答 1查看 416关注 0票数 1

我正在使用groovy、spring5、springboot2,并且我试图用WebClient替换Resttemplate,以便进行一些同步HTTP(REST)调用。在.groovy中无法识别webClient.get().uri("").retrieve()中的Retrieve() (编译错误),而在.java中可以使用相同的代码

WebClientJava.java

代码语言:javascript
复制
import org.springframework.web.reactive.function.client.WebClient;

public class WebClientJava {

    String retriever(){

        WebClient webClient = WebClient.create();

       String responsess =  webClient.get().uri("").retrieve().bodyToMono(String.class).block();


        return responsess;
    }
}

WebClientGroovy.groovy

代码语言:javascript
复制
import org.springframework.web.reactive.function.client.WebClient

class WebClientGroovy {

    String retriever(){

        WebClient webClient = WebClient.create()

        WebClient.RequestHeadersSpec responsess = webClient.get().uri("").retrieve().bodyToMono(String.class).block()

        return responsess
    }
}

我希望它可以和groovy一起工作,因为它可以和java一起工作。有没有人遇到或者有什么想法?

EN

回答 1

Stack Overflow用户

发布于 2019-05-30 03:25:29

您的问题似乎是由IntelliJ IDEA中的一个错误引起的,因为使用Maven.在命令行上成功构建了示例项目。

uri方法返回S,并将S定义为S extends RequestHeadersSpec<?>。集成开发环境似乎无法处理这一点,并认为它正在处理一个被它视为java.lang.Object?。我推荐reporting the problem to JetBrains

同时,您可以通过强制转换来自uri的返回来解决此问题

代码语言:javascript
复制
String responses = ((WebClient.RequestHeadersSpec)webClient.get().uri(""))
        .retrieve().bodyToMono(String.class).block()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56241236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档