💻 개발/TIL

[TIL] 22.03.15

고도고도 2022. 3. 15. 21:27

공부한 것

안드로이드 강의 수강

알게된 것

1. OkHttpLogging

Retrofit 을 사용해서 API 를 호출할 때 클라이언트의 문제인지 서버의 문제인지를 확인하기 위해 HTTP 의 로그를 봐야하는 경우가 있다. 이 때 사용할 수 있는 것이 OkHttpHttpLoggingInterceptor 이다.

// Retrofit Interface 를 구현한다.
private val openApiService : OpenApiService by lazy {
    Retrofit.Builder()
        .baseUrl(Url.OPEN_API_BASE_URL)
        .addConverter(GsonConverterFactory.create())
        .client(buildOkHttpClient())
        .build()
        .create()
}

suspend fun getInfos() : List<Info> = openApiService.getInfo().body()

// Level 을 설정하여 로그를 얼마나 자세하게 표시할지 정한다.
private fun buildOkHttpClient() : OkHttpClient = 
    OkHttpClient.Builder()
        .addInterceptor(
            HttpLoggingInterceptor().apply {
                level = if (BuildConfig.DEBUG) {
                    HttpLoggingInterceptor.Level.BODY
                    } else {
                        HttpLoggingInterceptor.Level.NONE
                        }
                    }
                }
                .build()
}

공부할 것

코루틴

느낀 점

월요일과 화요일은 뭔가 좀 바쁘다.

'💻 개발 > TIL' 카테고리의 다른 글

[TIL] 22.03.17  (0) 2022.03.17
[TIL] 22.03.16  (0) 2022.03.16
[TIL] 22.03.15  (0) 2022.03.15
[TIL] 22.03.14  (0) 2022.03.14
[TIL] 22.03.13  (0) 2022.03.13
[TIL] 22.03.10  (0) 2022.03.10