在 Retrofit 2 中記錄請求和回應
在 Retrofit 1 中,使用 setLog() 和setLogLevel()。然而,Retrofit 2 已經棄用了這些方法,讓開發人員想知道如何正確記錄網路流量。
使用HttpLoggingInterceptor
解決方案在於HttpLoggingInterceptor,可以將它加到OkHttpClient 來記錄請求和回應body:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);將日誌級別設置為BODY 將提供類似於setLogLevel 生成的詳細日誌(RestAdapter.LogLevel.FULL) in Retrofit 1.OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(...) .client(client) .addConverterFactory(GsonConverterFactory.create()) .build();
如果遇到java.lang.ClassNotFoundException,請確保logging-interceptor 的版本與您的 Retrofit 版本相符。在某些情況下,較舊的 Retrofit 版本可能需要較早的日誌記錄攔截器版本。
以上是如何記錄 Retrofit 2 請求和回應主體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!