2021-01-25-Android-Retrofit

Step 1. Open build.gradle (module level)

dependencies {
    // ....
    // RetroFit for Server Communication
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.8.0'
    // ....
}

Step 2. Open / Create ServiceBuilder file.

import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory


object ServiceBuilder {
    private val client = OkHttpClient.Builder()

    private val retrofit = Retrofit.Builder()
            .baseUrl(BuildConfig.ENDPOINT)
            .addConverterFactory(GsonConverterFactory.create())

    fun <T> buildService(service: Class<T>): T {
        // log request, response body
        val logging = HttpLoggingInterceptor()
        logging.level = HttpLoggingInterceptor.Level.BODY
        client.addInterceptor(logging)
        retrofit.client(client.build())
        return retrofit.build().create(service)
    }
}

Step 3. Define Service Interface

Step 4. Open / Create Service file.

Last updated

Was this helpful?