Retrofit源码分析总结

2021-06-28  本文已影响0人  QM

Retrofit怎么进行网络请求

Retrofit主要是在create方法中采用动态代理模式实现接口方法,这个过程构建了一个ServiceMethod对象,根据方法注解获取请求方式,参数类型和参数注解拼接请求的链接,当一切都准备好之后会把数据添加到Retrofit的RequestBuilder中。然后当我们主动发起网络请求的时候会调用okhttp发起网络请求,okhttp的配置包括请求方式,URL等在Retrofit的RequestBuilder的build()方法中实现,并发起真正的网络请求。

Retrofit使用方法


Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(hostUrl)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .client(OkHttpClient())
                .build();

ApiService apiService = retrofit.create(ApiService.class)
Call<ResponseBody> call = ApiService .getInfo("codeqm");

//同步请求方式
 call.request();
 //异步请求方式
 call.enqueue(new Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                //请求成功回调
            }

            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t) {
                //请求与失败回调
            }
        });

Retrofit

Retrofit的具体实现原理梳理总结:

使用Retrofit需要注意一下细节:

参考链接:
https://zhuanlan.zhihu.com/p/35121326
https://www.jianshu.com/p/8512454df047
https://www.jianshu.com/p/f57b7cdb1c99

上一篇下一篇

猜你喜欢

热点阅读