弥补OkHttpUtils中onError方法打印错误信息的不足
最近开发Android项目用到了OkHttpUtils,项目中的服务器是另一个同学搭的,能测试服务器的接口的只有我了,比如400,500错误啊,都要我这边打印才能找到出错具体在哪个代码块,但是,OkHttpUtils的错误信息居然只有打印出响应码,这真是让人很无语啊。然后就花时间研究起背后的故事。。。
先附上OkHttpUtils的作者和用法:Android 一个改善的okHttp封装库
首先看一下普通返回的String类型的StringCallback
OkHttpUtils.get()
.url(url)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
e.printStackTrace();
Log.i(TAG, e.getMessage());
}
@Override
public void onResponse(String response, int id) {
Log.i(TAG, response);
}
});
我们看到onError方法用了两种方式打印,但是结果确是