Как сделать запрос к внешнему api из kotlin?

Пользователь

от bart , в категории: Другие , 10 месяцев назад

Как сделать запрос к внешнему api из kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от clifford , 10 месяцев назад

@bart 

Для выполнения запроса к внешнему API из Kotlin можно использовать библиотеку OkHttp.


Вот пример кода, который использует OkHttp для выполнения GET-запроса к внешнему API:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
val client = OkHttpClient()

val request = Request.Builder()
    .url("https://api.example.com/data")
    .build()

client.newCall(request).execute().use { response ->
    if (!response.isSuccessful) throw IOException("Unexpected code $response")

    val responseText = response.body?.string()
    // Обработка ответа от API
}


В этом примере мы создаем экземпляр OkHttpClient и используем его для создания запроса. Затем мы вызываем метод execute(), чтобы выполнить запрос, и получаем ответ в виде объекта Response. После этого мы можем использовать метод string() объекта ResponseBody, чтобы получить текстовый ответ от API.


Если вы хотите отправить POST-запрос, то можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
val client = OkHttpClient()

val requestBody = FormBody.Builder()
    .add("key1", "value1")
    .add("key2", "value2")
    .build()

val request = Request.Builder()
    .url("https://api.example.com/data")
    .post(requestBody)
    .build()

client.newCall(request).execute().use { response ->
    if (!response.isSuccessful) throw IOException("Unexpected code $response")

    val responseText = response.body?.string()
    // Обработка ответа от API
}


Здесь мы создаем экземпляр FormBody и добавляем в него параметры POST-запроса. Затем мы создаем объект Request, используя этот FormBody, и отправляем его с помощью метода post(). Все остальное так же, как и в примере с GET-запросом.