kotlin
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.5.0")
implementation("co.paralleluniverse:fibers-okhttp:$comsatHttpClientVersion")
}
kotlin
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.example.com/users")
.build()
val response = client.newCall(request).execute()
val responseBody = response.body()?.string()
println(responseBody)
kotlin
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.example.com/users")
.build()
val call = client.newCall(request)
call.enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
val responseBody = response.body()?.string()
println(responseBody)
}
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
}
})
kotlin
suspend fun fetchUsers(): String {
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.example.com/users")
.build()
val response = client.newCall(request).execute()
return response.body()?.string() ?: ""
}
fun main() = runBlocking<Unit> {
val users = async { fetchUsers() }
println(users.await())
}