Android Retrofit2 0 查看log和JSON字符串(HttpLoggingInterceptor)
Posted skiwnchhw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Retrofit2 0 查看log和JSON字符串(HttpLoggingInterceptor)相关的知识,希望对你有一定的参考价值。
Retrofit2.0 怎么打印请求到的json字符串和查看log呢?
关键类:HttpLoggingInterceptor
关键代码:
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient = new OkHttpClient.Builder().addInterceptor(logging).build();
- 1
- 2
- 3
详细代码:
public static Retrofit initRetrofit(){
OkHttpClient httpClient = new OkHttpClient();
if (BuildConfig.DEBUG) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient = new OkHttpClient.Builder().addInterceptor(logging).build();
}
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd‘T‘HH:mm:ssZ")
.create();//使用 gson coverter,统一日期请求格式
return new Retrofit.Builder()
.baseUrl(BaseUtil.getGlivecApiUrl())
.addConverterFactory(GsonConverterFactory.create(gson))
.client(httpClient)
.build();
}
/**
* 创建 RetrofitManage 服务
*
* @return ApiService
*/
public static ApiService createApiService() {
return initRetrofit().create(ApiService.class);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
.client(httpClient)属性切莫忘记配置。
retrofit:2.0.0-beta4的依赖:
compile ‘com.squareup.retrofit2:retrofit:2.0.0-beta4‘ // retrofit
compile ‘com.google.code.gson:gson:2.5‘ // gson
compile ‘com.squareup.retrofit2:converter-gson:2.0.0-beta4‘
compile ‘com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4‘
compile ‘com.squareup.okhttp3:logging-interceptor:3.1.2‘
compile ‘com.squareup.okhttp3:okhttp:3.1.2‘
- 1
- 2
- 3
- 4
- 5
- 6
也可以这么写:
public class RxService {
private static final String BASETESTURL = "http://apis.baidu.com/showapi_open_bus/";
private static OkHttpClient okHttpClient = new OkHttpClient.Builder().addInterceptor
(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)).build();
private static Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASETESTURL)
.client(okHttpClient)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
private RxService() {
//construct
}
public static <T> T createApi(Class<T> clazz) {
return retrofit.create(clazz);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net
!-->以上是关于Android Retrofit2 0 查看log和JSON字符串(HttpLoggingInterceptor)的主要内容,如果未能解决你的问题,请参考以下文章
Retrofit2.0 android.os.NetworkOnMainThreadException解决方法
Android 网络框架 Retrofit2.0介绍使用和封装
无法在HttpLoggingInterceptor Retrofit2.0上解析setLevel
Android 基于ijkplayer+Rxjava+Rxandroid+Retrofit2.0+MVP+Material Design的android万能播放器aaa