尝试在 Retrofit 2 中记录精确的 JSON 请求时,通常会遇到默认日志记录机制的限制。从 Retrofit 1 中删除 setLog() 和 setLogLevel() 方法带来了一些挑战。
解决方案在于利用 HttpLoggingInterceptor。要进行设置:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(API_URL) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
此解决方案提供的 logcat 消息类似于由Retrofit 1.
注意中的 setLogLevel(RestAdapter.LogLevel.FULL):如果遇到 java.lang.ClassNotFoundException,请检查评论部分以获取涉及旧版本 Retrofit 和日志记录的潜在解决方案 -拦截器。
以上是如何在 Retrofit 2 中记录准确的 JSON 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!