【发布时间】:2020-12-26 16:12:30
【问题描述】:
我想创建一个普通的 spring webclient 来连续读取流。该流来自 https 页面。
我发现了一些“教程”,应该展示如何使用 spring webclient 来做到这一点,但他们没有。 它们要么已经过时,要么就是错误的,或者缺少很多信息,尤其是关于使用过的类。
类似 HttpClient.create()... 的东西是一个 PITA,但不知道要使用哪个确切的依赖项!
我目前的测试代码是这样的:
package chatclient;
import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.SslContextBuilder;
import org.springframework.http.client.reactive.ReactorClientHttpConnector;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux;
public class SslWebClientTest {
public static void main(String[] args) {
try {
SslContext sslContext = SslContextBuilder
.forClient()
.build();
ReactorClientHttpConnector clientHttpConnector = new ReactorClientHttpConnector();
// HttpClient.create();
WebClient webClient = WebClient.builder()
.clientConnector(clientHttpConnector)
.build();
Flux<String> stringFlux = webClient
.get()
.uri("https://www.google.com")
.retrieve()
.bodyToFlux(String.class);
stringFlux.subscribe(System.out::println);
} catch (Exception e) {
e.printStackTrace();
}
}
}
正如预期的那样,它会抛出 NPE,因为我不知道如何使用此处提到的 sslcontext 创建 httpclient.create() Spring WebClient - SSL configuration 因为我只是不知道这里使用的是什么 httpclient 类 - 它不是来自:apache、jdk、jetty 的那个
【问题讨论】:
标签: java spring webclient flux reactive