Avatar ·

Como fazer uma requisição HTTP em Kotlin?

Olá a todos! Surgiu a necessidade de fazer uma simples requisição HTTP GET em um projeto Kotlin (JVM). Sou novo na linguagem, então quero entender qual é a maneira padrão e recomendada de fazer isso em 2024.

Tentei usar a classe HttpURLConnection do Java, mas o código fica muito verboso e difícil de ler. Aqui está um exemplo do que escrevi:

import java.net.HttpURLConnection\nimport java.net.URL\n\nfun main() {\n    val url = URL(\"https://jsonplaceholder.typicode.com/posts/1\")\n    val connection = url.openConnection() as HttpURLConnection\n    connection.requestMethod = \"GET\"\n    connection.connectTimeout = 5000\n    connection.readTimeout = 5000\n    val responseCode = connection.responseCode\n    println(\"Response Code: $responseCode\")\n    val body = connection.inputStream.bufferedReader().readText()\n    println(body)\n    connection.disconnect()\n}

Isso funciona, mas ouvi dizer que existem soluções mais elegantes em Kotlin, entã