CodeBlanks Logo Icon CodeBlanks

HttpClient

HttpClient yapılandırmasını öğrenirsin.

HttpClient yapılandırması

Bir HttpClient oluştururken config bloğu açıp plugin'ler eklersin. En yaygın plugin ContentNegotiation'dır; JSON serialization'ı otomatik yapar.

Örnek: HttpClient { install(ContentNegotiation) { json() } }. Bu blok JSON gövdesini otomatik olarak Kotlin nesnesine çevirir. Plugin'ler install fonksiyonu ile eklenir. Engine değiştirmek için HttpClient(CIO) { ... } gibi çağrı yapılır. Yapılandırma merkezî olduğu için tüm istekler aynı davranışı paylaşır.

ContentNegotiation ile JSON

ContentNegotiation, HTTP gövdelerini otomatik olarak Kotlin nesnelerine çeviren plugin'dir. json() ile kotlinx.serialization kullanılır.

Bu plugin eklendiğinde client.get<User>(url) çağrısı doğrudan User nesnesi döndürür. Gövdeyi el ile ayrıştırmak gerekmez. Aynı şekilde client.post gövdesi de otomatik serileştirilir. Plugin, Content-Type başlığına bakarak doğru formatı seçer. JSON yanıtı için application/json, XML için application/xml kullanılır.

Uygulama HttpClient'i yapılandır ve yazdır

HttpClient { install(ContentNegotiation) { json() } } ile istemciyi yapılandır. println("Yapılandırıldı") yazdır, sonra client.close() ile kapat.

Başlangıç kodu

Main.kt
// HttpClient yapılandırma
// buraya yaz
import io.ktor.client.*
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation

fun main() {
    
}

Örnek çözüm

Main.kt
fun main() {
    val client = HttpClient {
        install(ContentNegotiation) { json() }
    }
    println("Yapılandırıldı")
    client.close()
}

Beklenen çıktı

Yapılandırıldı

Soru ve cevaplar

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

1 install çağrısını tamamla

Soru
HttpClient {
    ____(ContentNegotiation) { json() }
}
Cevap
HttpClient {
    install(ContentNegotiation) { json() }
}

Açıklama: install ile plugin eklenir.

2 HttpClient plugin eşle

Kavram Anlamı
ContentNegotiation JSON çevirir
install Plugin ekler
json() Format seçer
HttpClient İstemci

3 HttpClient'e plugin eklemek için hangi fonksiyon kullanılır?

  • use
  • install Doğru cevap
  • with
  • add

Açıklama: install ile plugin eklenir.

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