如何在没有 Spring 引导的情况下使用 Spring WebClient

How to use Spring WebClient without Spring Boot

我对发出 HTTP 请求的需求非常有限。我看到 WebClient 是 RestTemplate 的新替代品。但似乎无法使用 WebClient,而不拖入整个 spring 引导;这不是我想做的。没有 Spring 引导就可以使用 WebClient 的任何方法?

您可以使用 Reactor Netty HttpClient (docs) 发出异步 HTTP 请求。 Spring WebClient 在后台使用它。 只需添加依赖项

<dependency>
    <groupId>io.projectreactor.netty</groupId>
    <artifactId>reactor-netty</artifactId>
    <version>0.9.11.RELEASE</version>
</dependency>

并提出请求

HttpClient.create()
            .request(HttpMethod.GET)
            .uri("http://example.com/")
            .responseContent()
            .asString()
            .subscribe(System.out::println);

我遇到了同样的问题,我这样做解决了它。

您需要在 src/main/resources 文件夹中创建一个 logback.xml 文件 并复制这个

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
</configuration>

如果您已经有了这个文件,只需在您的配置中添加这个 statusLIstener。

更多信息:http://logback.qos.ch/manual/configuration.html