Вы можете использовать библиотеку kohttp . Это HTTP-клиент Kotlin DSL. Он поддерживает функции square.okhttp и предоставляет им понятный DSL. Асинхронные вызовы KoHttp приводятся в действие сопрограммами.
val response: Deferred<Response> = "http://localhost:8080/matematica3/naoAutomatica/get".asyncHttpGet()
или функция DSL для более сложных запросов
val response: Response = httpGet {
host = "localhost"
port = 8080
path = "/matematica3/naoAutomatica/get"
}
Более подробную информацию вы можете найти в документах
В результате ваш вызов с обратными вызовами будет выглядеть так:
val response: Deferred<Response> = "http://localhost:8080/matematica3/naoAutomatica/get".asyncHttpGet()
try {
response.await().use {
println(it.asString())
}
} catche (e: Exception) {
println("${e?.message}")
}
Чтобы получить его с помощью Gradle
compile 'io.github.rybalkinsd:kohttp:0.10.0'