Android Retrofit2.0 查看log和JSON字符串(HttpLoggingInterceptor)

来源:互联网 发布:数据库安全测试 编辑:程序博客网 时间:2024/05/16 17:12

Retrofit2.0 怎么打印请求到的json字符串和查看log呢?
关键类:HttpLoggingInterceptor
关键代码:

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();logging.setLevel(HttpLoggingInterceptor.Level.BODY);httpClient = new OkHttpClient.Builder().addInterceptor(logging).build();

详细代码:

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);    }

.client(httpClient)属性切莫忘记配置。

retrofit:2.0.0-beta4的依赖:

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' // retrofitcompile 'com.google.code.gson:gson:2.5' // gsoncompile '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'

也可以这么写:

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);    }}
3 0
原创粉丝点击