Melog Permintaan dan Respons dalam Retrofit 2
Dalam Retrofit 1, mengelog JSON tepat yang dihantar dalam permintaan adalah mudah menggunakan setLog() dan setLogLevel(). Walau bagaimanapun, Retrofit 2 telah menafikan kaedah ini, menyebabkan pembangun tertanya-tanya cara log trafik rangkaian dengan betul.
Menggunakan HttpLoggingInterceptor
Penyelesaian terletak pada HttpLoggingInterceptor, yang boleh ditambah kepada OkHttpClient untuk log kedua-dua permintaan dan respons badan:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
Seterusnya, buat objek Retrofit menggunakan OkHttpClient dengan pemintas tambahan:
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(...) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
Menetapkan tahap pengelogan kepada BODY akan menyediakan log terperinci serupa dengan yang dihasilkan oleh setLogLevel (RestAdapter.LogLevel.FULL) dalam Retrofit 1.
Menyelesaikan ClassNotFoundException
Jika anda menemui java.lang.ClassNotFoundException, pastikan versi pemintas pengelogan sepadan dengan versi Retrofit anda. Dalam sesetengah kes, versi Retrofit yang lebih lama mungkin memerlukan versi pemintas log yang lebih awal.
Atas ialah kandungan terperinci Bagaimana untuk Log Retrofit 2 Badan Permintaan dan Respons?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!