RxJava有异步的最新http客户端吗?



react -core和Spring 5刚刚为它们的Mono/Flux publisher引入了新的异步WebClient。

由于通常将RestTemplate请求与Observable和subscribeOn一起包装以提供异步性,我想知道是否有任何RxJava的异步客户端。

我找到了https://github.com/ReactiveX/RxApacheHttp,但它似乎不受支持,它的最后一次提交是从2014年开始的,甚至在我的测试中都没有工作。

您可以使用基于Netty的RxNetty(https://github.com/ReactiveX/RxNetty)。

你也可以使用Netflix功能区(https://github.com/Netflix/ribbon)与RxNetty。

另一个选项- AsyncHttpClient。Maven链接

起点:

RxHttpClient.create(AsyncHttpClient asyncHttpClient) ;

是的,有,但不清楚,是否适合您的需求:

Retrofit2

为了能够获得Observable的响应,将以下内容添加到您的build.gradle文件中:

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'

在众多选项中:

Retrofit retrofit = new Retrofit.Builder()
    (...)
    .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
    (...)
    .build();

之后,在Retrofit的接口类内部,每个函数都可以将Observable<{class_to_return}>作为返回对象:

retrofit.create({interface_class}.class)

接口类(示例):

Observable<ApiUser> postLogin({parameters});

相关内容

  • 没有找到相关文章

最新更新