Rumah > Java > javaTutorial > Bagaimana untuk Log Retrofit 2 Badan Permintaan dan Respons?

Bagaimana untuk Log Retrofit 2 Badan Permintaan dan Respons?

Mary-Kate Olsen
Lepaskan: 2024-12-19 19:35:10
asal
196 orang telah melayarinya

How to Log Retrofit 2 Request and Response Bodies?

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);
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan