spring WebClient无法解析

5w9g7ksd  于 2023-02-28  发布在  Spring
关注(0)|答案(2)|浏览(202)

为了使用新的WebClient API,我在Intellij项目中包含了spring-webflux

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compile 'org.springframework.boot:spring-boot-starter-webflux'
//    compile group: 'org.springframework', name: 'spring-webflux', version: '5.2.7.RELEASE'

    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

但是,WebClient仍然没有得到解决:

C:\Users\tobia\Documents\spring-app\service\Service.java:25: error: cannot find symbol
        System.out.println(WebClient.Builder());
                           ^
  symbol:   variable WebClient
  location: class Service

依赖性本身似乎已经解决,因为webflux现在在我的“外部库”列表中:

有人知道为什么WebClient仍然没有解决吗?
我已经尝试了所有这4个依赖关系声明,没有工作:

compile 'org.springframework.boot:spring-boot-starter-webflux'
    compile group: 'org.springframework', name: 'spring-webflux', version: '5.2.7.RELEASE'
    implementation 'org.springframework.boot:spring-boot-starter-webflux'
    implementation group: 'org.springframework', name: 'spring-webflux', version: '5.2.7.RELEASE'
cnjp1d6j

cnjp1d6j1#

您的build.gradle缺少此依赖项:

compile group: 'org.springframework', name: 'spring-webflux', version: '5.2.7.RELEASE'

工作证明:

确保reimport the dependencies
WebClient的示例代码应如下所示:

WebClient client3 = WebClient
                .builder()
                .baseUrl("http://localhost:8080")
                .defaultCookie("cookieKey", "cookieValue")
                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
                .defaultUriVariables(Collections.singletonMap("url", "http://localhost:8080"))
                .build();

请注意,它是WebClient.builder()而不是WebClient.Builder(),看起来方法名称中有一个拼写错误,请将Builder()替换为builder(),它应该可以工作。
WebClient.Builder是接口,因此此代码无效:

System.out.println(WebClient.Builder());

这是您代码的语法问题,与Gradle、依赖项或IntelliJ IDEA无关。

e4eetjau

e4eetjau2#

有同样的问题,我使用这个依赖项:
实现' Boot :Spring启动程序启动程序webflux'
并且必须使IntelliJ缓存无效:文件〉使缓存无效

相关问题