依赖:
com.squareup.retrofit2:retrofit:2.11.0
com.squareup.retrofit2:converter-gson:2.11.0
com.squareup.okhttp3:logging-interceptor:4.11.0
代码:
object HttpClient {
private const val TIMEOUT = 30L
private const val BASE_URL = "https://XXX.com"
private val retrofit: Retrofit
init {
val okHttp = OkHttpClient.Builder()
.connectTimeout(TIMEOUT, TimeUnit.SECONDS)
.writeTimeout(TIMEOUT, TimeUnit.SECONDS)
.readTimeout(TIMEOUT, TimeUnit.SECONDS)
.addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.build()
retrofit = Retrofit.Builder()
.client(okHttp)
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(compatGson))
.build()
}
fun <T> create(clazz: Class<T>): T {
return retrofit.create(clazz)
}
}
注意:本文归作者所有,未经作者允许,不得转载