retrofit2源码阅读

众所周知,retrofit2的api调用:

//初始化 拿到retrofit对象
Retrofit retrofit = new Retrofit.Builder()
                .addConverterFactory(GsonConverterFactory.create()) //添加gson解析工厂 可以不加
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())//添加rxjava2工厂 可以不加
                .client(OkHttpUtil.buildClient())
                .baseUrl(“https://www.jianshu.com/u/a3117795167c”)
                .build();
//动态代理
ServiceApi serviceApi = retrofit.create(ServiceApi.class);
//代理对象调用接口方法 返回call对象 如果添加了rxjava支持 ,返回的对象可以是 
// Observableservable或者Single
Call call = serviceApi .getCall(postBodyReq);
 //步骤6:发送网络请求(异步)
 call.enqueue(new Callback() {
            //请求成功时回调
            @Override
            public void onResponse(Call call, Response response) {
                try{
                    Log.w("tan",response.body().string());
                }catch (Exception e){
                    e.printStackTrace();
                }
 
            }
 
            //请求失败时回调
            @Override
            public void onFailure(Call call, Throwable throwable) {  
            }
        });

你可能感兴趣的:(retrofit2源码阅读)