¿Cómo hacer una request de API en Kotlin?

Soy extremadamente nuevo para Kotlin y las API en general y no puedo encontrar la syntax para crear una request de API utilizando este idioma. Estoy creando una versión mobile de un website, así que estoy usando Android Studio para crear una nueva interfaz de usuario para un backend ya establecido. ¿Cuáles son los pasos y la syntax para crear una request? Cualquier ayuda es muy apreciada.

Una vez que haya configurado su Android Studio para utilizar Kotlin, es bastante simple hacer una llamada REST, y es prácticamente la misma lógica que con Java.


Aquí hay un ejemplo de una llamada REST con OkHttp :

build.gradle

dependencies { //... compile 'com.squareup.okhttp3:okhttp:3.8.1' } 

AndroidManifest.xml

 <uses-permission android:name="android.permission.INTERNET" /> 

MainActivity.kt

 class MainActivity : AppCompatActivity() { val client = OkHttpClient() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) run("https://api.github.com/users/Evin1-/repos") } fun run(url: String) { val request = Request.Builder() .url(url) .build() client.newCall(request).enqueue(object : Callback { override fun onFailure(call: Call, e: IOException) {} override fun onResponse(call: Call, response: Response) = println(response.body()?.string()) }) } } 

Creé un ejemplo más complejo en este repository, usé Dagger, RxJava, Retrofit en MVP.

https://github.com/Evin1-/Kotlin-MVP-Dagger2-RxJava-Retrofit

puede usar Retrofit o AsyncTask , ejemplo de AsyncTask :

  class getData() : AsyncTask<Void, Void, String>() { override fun doInBackground(vararg params: Void?): String? { } override fun onPreExecute() { super.onPreExecute() } override fun onPostExecute(result: String?) { super.onPostExecute(result) } } 

para Retrofit verifique este maravilloso tutorial

Retrofit es una buena herramienta para consumir API en Android. Aquí hay un tutorial que encontré sobre cómo usar Retrofit en Kotlin