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

Spring Boot 2 - Transforming a Mono to a rx.Observable?

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

public Observable<Comment> getComment() {

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

这有什么简单的方法吗?

此致

推荐的方法是使用 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
}

您可以使用

Observable.fromFuture(webClient.get()
        .uri(url)
        .accept(MediaType.APPLICATION_JSON)
        .retrieve()
        .bodyToMono(Comment.class).toFuture());