Spring Boot 2 - 将 Mono 转换为 rx.Observable?

Fra*_*ard 4 spring spring-mvc rx-java spring-boot hystrix

我正在尝试将 HystrixObservableCommand 与 Spring WebFlux WebClient 一起使用,我想知道是否有一个“干净”的方法可以将 Mono 转换为 rx.Observable。我的初始代码如下所示:

public Observable<Comment> getComment() {

    return webClient.get()
            .uri(url)
            .accept(MediaType.APPLICATION_JSON)
            .retrieve()
            .bodyToMono(Comment.class)
            // stuff missing here :(.
}
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法可以做到这一点吗?

问候

Sim*_*slé 6

推荐的方法是使用RxJavaReactiveStreams,更具体地说:

public Observable<Comment> getComment() {

    Mono<Comment> mono = webClient.get()
            .uri(url)
            .accept(MediaType.APPLICATION_JSON)
            .retrieve()
            .bodyToMono(Comment.class);

    return RxReactiveStreams.toObservable(mono); // <-- convert any Publisher to RxJava 1
}
Run Code Online (Sandbox Code Playgroud)