學習了Retrofit中的攔截器功能:實現日志中打印請求頭內容
Retrofit 2+ 是基於OKHttp進行封裝的,那么也就是說想進行請求攔截然后進行打印出來的話,就必須要從OkHttp進行入手。
1,添加依賴包:
compile 'com.squareup.okhttp3:logging-interceptor:3.1.2'
2,我這里是新建了一個方法進行創建並獲取OkHttp

private OkHttpClient getOkHttpClient() { //日志顯示級別 HttpLoggingInterceptor.Level level= HttpLoggingInterceptor.Level.BODY; //新建log攔截器 HttpLoggingInterceptor loggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { @Override public void log(String message) { Log.d("zcb","OkHttp====Message:"+message); } }); loggingInterceptor.setLevel(level); //定制OkHttp OkHttpClient.Builder httpClientBuilder = new OkHttpClient .Builder(); //OkHttp進行添加攔截器loggingInterceptor httpClientBuilder.addInterceptor(loggingInterceptor); return httpClientBuilder.build(); }
3,把獲取到的OkHttp給Retrofit進行使用
Retrofit retrofit=new Retrofit.Builder() .baseUrl(AppConfig.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .client(getOkHttpClient())//使用自己創建的OkHttp .build();
效果圖:我發起了三個請求。
參考資料:
OKHttp源碼解析
OkHttp源碼:Logging Interceptor
學會Retrofit+OkHttp+RxAndroid三劍客的使用,讓自己緊跟Android潮流的步伐