POST
- Kotlin kursu
- İleri seviye
- Ders 16/83
- 5 dk
client.post ile POST isteği öğrenirsin.
POST isteği
Bir POST isteği, sunucuya yeni veri gönderir. Ktor'da client.post(url) ile yapılır; gövde setBody ile eklenir.
Örnek: client.post("https://api.example.com/users") { setBody(newUser) }. Burada newUser bir Kotlin nesnesidir; ContentNegotiation plugin'i onu JSON'a çevirir. POST, yeni kaynak oluşturmak için kullanılır; PUT ise varolanı günceller. Yanıt yine HttpResponse'dur. Gövde türü belirlemek için contentType(ContentType.Application.Json) kullanılır.
Uygulama POST isteği yapıp yazdır
Bir HttpClient oluştur. val response = client.post("https://api.example.com/users") ile POST isteği yap. println("Gönderildi") yazdır. Sonra client.close() ile kapat.
Başlangıç kodu
// POST isteği
// buraya yaz
import io.ktor.client.*
import io.ktor.client.request.*
fun main() {
}Örnek çözüm
fun main() {
val client = HttpClient()
val response = client.post("https://api.example.com/users")
println("Gönderildi")
client.close()
}Beklenen çıktı
Gönderildi
Gövde ve Content-Type
POST isteğinde gövde göndermek için setBody(data) kullanılır. Gövde türünü belirtmek için contentType(ContentType.Application.Json) eklenir.
ContentNegotiation plugin'i eklendiyse, Kotlin nesnesi otomatik olarak JSON'a çevrilir. Örnek: client.post(url) { contentType(ContentType.Application.Json); setBody(user) }. Gövde UTF-8 olarak kodlanır; özel karakterler kaçışlanır. Yanıt gövdesi yine response.body<T>() ile okunur. Doğru Content-Type seçmek sunucunun gövdeyi tanıması için anlamlıdır.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 POST ile PUT arasındaki temel fark nedir?
- POST okur, PUT yazar
- POST daha hızlıdır
- PUT sadece siler
- POST yeni kaynak oluşturur, PUT günceller Doğru cevap
Açıklama: POST yeni kaynak, PUT varolanı günceller.
2 setBody çağrısını tamamla
client.post(url) {
____(user)
}
client.post(url) {
setBody(user)
}
Açıklama: setBody ile gövde gönderilir.
3 POST parçalarını eşle
| Kavram | Anlamı |
|---|---|
client.post |
İstek atar |
setBody |
Gövde ekler |
contentType |
Tür belirler |
HttpResponse |
Yanıt türü |