Routing
- Kotlin kursu
- İleri seviye
- Ders 20/83
- 5 dk
routing ile URL rotaları öğrenirsin.
Routing nedir?
Routing, gelen HTTP isteklerini URL yollarına göre işleyen fonksiyona yönlendirmektir. Ktor'da routing bloğu ile tanımlanır.
Örnek: routing { get("/users") { call.respondText("users") } }. Burada /users yoluna gelen GET isteği call.respondText ile yanıtlanır. Her yol bir HTTP metoduna bağlıdır: get, post, put, delete. Yol parametreleri {id} sözdizimi ile alınır. Routing bloğu, Application module içinde tanımlanır.
HTTP metodları
Routing bloğunda her yol bir HTTP metoduna bağlıdır. get okuma, post oluşturma, put güncelleme, delete silme için kullanılır.
Örnek: post("/users") { call.respondText("Oluşturuldu") }. Yanıtı döndürmek için call.respondText, call.respond veya call.respondBytes kullanılır. İstek gövdesini almak için call.receive<T>(). Yol parametreleri call.parameters["id"] ile okunur. Routing, REST API tasarımının temelidir.
Uygulama Routing ile yol ekle
fun Application.module() tanımla. İçinde routing { get("/users") { } } bloğu aç. Ayrıca fun main() içinde println("Yol eklendi") yazdır.
Başlangıç kodu
// Routing
// buraya yaz
import io.ktor.server.application.*
import io.ktor.server.routing.*
fun main() {
}Örnek çözüm
fun Application.module() {
routing {
get("/users") {
}
}
}
fun main() {
println("Yol eklendi")
}Beklenen çıktı
Yol eklendi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 routing bloğunu tamamla
fun Application.module() {
____ {
get("/users") { }
}
}
fun Application.module() {
routing {
get("/users") { }
}
}
Açıklama: routing bloğu yol tanımını taşır.
2 HTTP metodlarını eşle
| Kavram | Anlamı |
|---|---|
get |
Okuma |
post |
Oluşturma |
put |
Güncelleme |
delete |
Silme |
3 Yol parametresi almak için hangisi kullanılır?
- call.respond
- call.respondText
- call.receive
- call.parameters Doğru cevap
Açıklama: call.parameters ile yol parametresi okunur.