Präzise JSON-Protokollierung mit Retrofit 2
Beim Senden von API-Anfragen kann der Erhalt der genauen JSON-Daten, die in der Anfrage enthalten sind, für das Debuggen und die Fehlersuche von entscheidender Bedeutung sein Analyse. Retrofit 2 bietet eine optimierte Möglichkeit, dies durch seinen HttpLoggingInterceptor zu erreichen.
Konfigurieren von HttpLoggingInterceptor
Um HttpLoggingInterceptor zu verwenden, fügen Sie die folgende Abhängigkeit zu Ihrem build.gradle hinzu:
implementation 'com.squareup.okhttp3:logging-interceptor:4.11.0'
Erstellen Sie anschließend eine Retrofit-Objekt wie gezeigt:
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://backend.example.com") .client(client) .addConverterFactory(GsonConverterFactory.create()) .build(); return retrofit.create(ApiClient.class);
Die obige Konfiguration stellt detaillierte Logcat-Meldungen bereit, die denen ähneln, die vom veralteten setLogLevel(RestAdapter.LogLevel.FULL) in Retrofit 1 generiert werden.
Beheben von Ausnahmen, bei denen die Klasse nicht gefunden wurde
Wenn Sie auf java.lang.ClassNotFoundException stoßen, Es ist wahrscheinlich, dass eine ältere Version von Retrofit eine ältere Logging-Interceptor-Version erfordert. Einzelheiten zur Kompatibilität finden Sie in den GitHub-Kommentaren zum Logging-Interceptor.
Das obige ist der detaillierte Inhalt vonWie erreicht man mit Retrofit 2 eine präzise JSON-Protokollierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!