Avatar ·

¿Cómo hacer una solicitud HTTP en Kotlin?

¡Hola a todos! Surgió la necesidad de realizar una simple solicitud HTTP GET en un proyecto en Kotlin (JVM). Soy nuevo en el lenguaje, por lo que quiero entender cuál es la forma estándar y recomendada de hacerlo en 2024.

Intenté usar la clase HttpURLConnection de Java, pero el código resulta muy verboso e incómodo de leer. Aquí hay un ejemplo de lo que escribí:

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}

Esto funciona, pero he oído que en Kotlin hay soluciones más elegantes, así