★44.Retrofit + Gson + RxJava2

简介

  • Retrofit RxJava2 Adapter 官网。

1. 定义Model

public interface Model {
    @GET
    Observable getA(@Body ARequest request);

    @GET
    Observable getB(@Body BRequest request);
}

2. 创建OkHttpClient

OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
        .readTimeout(10, TimeUnit.SECONDS)
        .connectTimeout(9, TimeUnit.SECONDS)
        .build();

3. 构建Gson

Gson gson = new GsonBuilder()
        .setDateFormat("yyyy-MM-dd hh:mm:ss")
        .create();

4. 创建Retrofit

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl("https://www.baidu.com/")
        .client(okHttpClient)
        .addConverterFactory(GsonConverterFactory.create(gson))
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .build();

5. 创建Model

Model model = retrofit.create(Model.class);

6. 执行网络请求

model.getA(new ARequest())
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Observer() {
            @Override
            public void onSubscribe(Disposable d) { }

            @Override
            public void onNext(AResponse value) { }

            @Override
            public void onError(Throwable e) { }

            @Override
            public void onComplete() { }
        });

你可能感兴趣的:(★44.Retrofit + Gson + RxJava2)