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());
我正在尝试将 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());