>Java >java지도 시간 >Retrofit 2 요청 및 응답 본문을 기록하는 방법은 무엇입니까?

Retrofit 2 요청 및 응답 본문을 기록하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-19 19:35:10198검색

How to Log Retrofit 2 Request and Response Bodies?

Retrofit 2의 요청 및 응답 로깅

Retrofit 1에서는 setLog() 및 setLogLevel(). 그러나 Retrofit 2는 이후 이러한 방법을 더 이상 사용하지 않기 때문에 개발자는 네트워크 트래픽을 올바르게 기록하는 방법을 궁금해하게 되었습니다.

HttpLoggingInterceptor 사용

해결책은 추가할 수 있는 HttpLoggingInterceptor에 있습니다. 요청과 응답을 모두 기록하기 위해 OkHttpClient에 bodies:

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

다음으로 인터셉터가 추가된 OkHttpClient를 사용하여 Retrofit 객체를 생성합니다.

OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(...)
        .client(client)
        .addConverterFactory(GsonConverterFactory.create())
        .build();

로깅 수준을 BODY로 설정하면 setLogLevel에서 생성된 것과 유사한 자세한 로그가 제공됩니다. (RestAdapter.LogLevel.FULL) 개조 1.

해결 중 ClassNotFoundException

java.lang.ClassNotFoundException이 발생하는 경우 로깅 인터셉터 버전이 Retrofit 버전과 일치하는지 확인하세요. 경우에 따라 이전 Retrofit 버전에는 이전 로깅 인터셉터 버전이 필요할 수 있습니다.

위 내용은 Retrofit 2 요청 및 응답 본문을 기록하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.