是否有适用于RxJava的异步最新http客户端?

时间:2016-10-19 08:04:21

标签: spring rx-java reactive-programming rx-android project-reactor

Reactor-core和Spring 5刚刚为他们的Mono / Flux Publishers引入了新的异步WebClient。

由于通常使用Observable包装RestTemplate请求并订阅它以提供异步性,因此我想知道RxJava是否有任何异步客户端。

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

3 个答案:

答案 0 :(得分:2)

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

您还可以将Netflix功能区(https://github.com/Netflix/ribbon)与RxNetty一起使用。

答案 1 :(得分:1)

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

Retrofit2

为了能够以[{1}}获取回复,请将以下内容添加到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)

答案 2 :(得分:0)

另一个选项-AsyncHttpClient。 Maven link

起点:

RxHttpClient.create(AsyncHttpClient asyncHttpClient) ;