I'm trying to learn coroutines with retrofit and hilt.
There is simple api github https://api.github.com/users/JakeWharton/repos
But my code give in log:
D/OkHttp: --> GET https://api.github.com/users/JakeWharton/repos
D/OkHttp: --> END GET
without any reponse, despite the fact that using postman I get list with repos.
In my function loadData() debugger stop on the 1st lane, it doesn't come to println, something is wrong but don't know what.
my codes:
@Provides
fun provideGitHubService(retrofit: Retrofit): GitHubService{
return retrofit.create(GitHubService::class.java)
}
@Provides
fun provideOkHttpClient(): OkHttpClient {
val loggingInterceptor = HttpLoggingInterceptor()
loggingInterceptor.level = HttpLoggingInterceptor.Level.BODY
return OkHttpClient
.Builder()
.addInterceptor(loggingInterceptor)
.build()
}
@Provides
fun provideRetrofit(okHttpClient: OkHttpClient): Retrofit {
return Retrofit.Builder()
.baseUrl("https://github.com") // don't know how to remove it but it will be override anyway
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build()
}
private fun getRepos() {
viewModelScope.launch {
loadData()
}
}
private suspend fun loadData() {
val response = service.getRepos()
println(response). //debugger doesn't come here
}
interface GitHubService {
@GET("https://api.github.com/users/JakeWharton/repos")
suspend fun getRepos() : Call<List<User>>
}
data class User(
@SerializedName("name") val name: String
)