Spring boot中使用Retrofit拦截器增加日志打印功能
java1234
共 1195字,需浏览 3分钟
·
2021-01-06 15:06
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
作者 | 六层楼
来源 | urlify.cn/jIvAna
目前存在的问题
Retrofit是个封装良好的基于OKHTTP的框架,我们可以方便的使用Retrofit来调用API。那么应该如何优雅的使用Retrofit来调用API呢?
一、Retrofit如何添加拦截器
Retrofit本身不能添加拦截器,但是OKHTTP客户端是可以添加拦截器的。那么我们只需要先定义一个OKHTTP客户端,然后在创建Retrofit的时候把客户端加进去就可以了
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(resSyncConfig.getUrl())
.client(getClient().build())
.addConverterFactory(GsonConverterFactory.create())
.build();
二、添加拦截器代码
上面提到,我们需要在OkHttp客户端里面添加拦截器,来实现打印日志的功能。
/**
* 获取OKHttp客户端,用于为Retrofit添加拦截器
*
* @return OKHttp客户端
*/
private OkHttpClient.Builder getClient() {
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addNetworkInterceptor(chain -> {
Request original = chain.request();
log.info("{},headers:{}", original.toString(), original.headers());
return chain.proceed(original);
});
return httpClientBuilder;
}
粉丝福利:Java从入门到入土学习路线图
???
?长按上方微信二维码 2 秒
感谢点赞支持下哈
评论