java – 用于http请求和响应日志记录的HttpLoggingInterceptor
发布时间:2020-12-15 04:38:04 所属栏目:Java 来源:网络整理
导读:我正在使用retrofit2,我需要记录所有请求和响应.请求和响应工作完美,我只需要记录这些请求/响应,我尝试了几乎所有解决方案,我在这里找到,但没有找到解决方案.我不明白这里有什么不对 这是我的代码 class Factory { private final static OkHttpClient.Builde
我正在使用retrofit2,我需要记录所有请求和响应.请求和响应工作完美,我只需要记录这些请求/响应,我尝试了几乎所有解决方案,我在这里找到,但没有找到解决方案.我不明白这里有什么不对
这是我的代码 class Factory { private final static OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); private static NetworkApi.Factory serverApi; private static HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); private Retrofit retrofit = new Retrofit.Builder() .baseUrl(RequestApi.BASE_URL) .client(httpClient.build()) .addConverterFactory(GsonConverterFactory.create()) .build(); public static NetworkApi getApi() { if (BuildConfig.DEBUG){ interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request.Builder builder = chain.request().newBuilder() .addHeader("Content-Type","application/json"); return chain.proceed(builder.build()); } }); httpClient.interceptors().add(interceptor); } if (serverApi == null){ serverApi = new NetworkApi.Factory(); } return serverApi.retrofit.create(NetworkApi.class); } } 图书馆: compile 'com.google.code.gson:gson:2.7' compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.okhttp3:okhttp:3.6.0' compile 'com.squareup.okhttp3:logging-interceptor:3.6.0' 解决方法
尝试使用OkHttpClient,如下所示:
private OkHttpClient createDefaultOkHttpClient() { HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); return new OkHttpClient().newBuilder() .addInterceptor(interceptor) .build(); } 然后将其设置为您的改造生成器: Retrofit retrofitAsync = new Retrofit.Builder() .baseUrl(BASE_URL_APPS) .client(createDefaultOkHttpClient()) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(rxAdapter) .build(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |