CodeBlanks Logo Icon CodeBlanks

Ktor client

Ktor client ile HTTP istemcisini öğrenirsin.

Ktor client nedir?

Ktor client, Kotlin ile HTTP isteği yapan, coroutine tabanlı bir kütüphanedir. Multiplatform çalışır; Android, JVM ve iOS'ta aynı API'yi sunar.

Bir HttpClient oluşturup get, post gibi metodlarla istek atarsın. Tüm çağrılar suspend fonksiyonlardır; bir coroutine içinde ya da runBlocking ile çağrılır. Plugin mimarisi sayesinde JSON serileştirme, logging ve kimlik doğrulama eklemek kolaydır. Bu derste temel istemci kurulumunu göreceksin.

HttpClient oluşturma

Bir HttpClient oluşturmak için HttpClient() çağrısı yaparsın. Varsayılan engine kullanılır; CIO, OkHttp veya Darwin gibi alternatifler de eklenebilir.

İstemci kullanıldıktan sonra client.close() ile kapatılır. Aksi halde bağlı kaynaklar kalır. Yapılandırma eklemek için HttpClient { install(...) } bloğu kullanılır. Bu blok içinde ContentNegotiation, logging gibi plugin'ler eklenir. Engine seçimi platforma göre değişir; JVM'de CIO yaygın bir seçimdir.

Uygulama HttpClient tanımla ve yazdır

Bir HttpClient oluştur ve println("İstemci hazır") ile hazır olduğunu yazdır. Sonra client.close() ile kapat.

Başlangıç kodu

Main.kt
// Ktor istemci
// buraya yaz
import io.ktor.client.*

fun main() {
    
}

Örnek çözüm

Main.kt
fun main() {
    val client = HttpClient()
    println("İstemci hazır")
    client.close()
}

Beklenen çıktı

İstemci hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Ktor client hangi temel kavram üzerine kurulmuştur?

  • Coroutine Doğru cevap
  • Thread
  • Listener
  • Callback

Açıklama: Ktor client coroutine tabanlıdır; çağrılar suspend fonksiyondur.

2 HttpClient çağrısını tamamla

Soru
val client = ____()
Cevap
val client = HttpClient()

Açıklama: HttpClient() ile istemci oluşturulur.

3 Ktor client parçalarını eşle

Kavram Anlamı
HttpClient İstemci
get GET isteği
post POST isteği
close Kapatma

İleri seviye bölümündeki tüm dersler