Route Parameter
Penjelasan
Route bisa menerima parameter dinamis lewat kurung kurawal di path, mis. /produk/{id} — nilainya diakses lewat call.parameters["id"], SELALU string nullable (String?), perlu konversi manual kalau butuh tipe lain.
Contoh Konsep
get("/produk/{id}") {
val id = call.parameters["id"]
call.respondText("Menampilkan produk dengan id: $id")
}
get("/kategori/{kategoriId}/produk/{produkId}") {
val kategoriId = call.parameters["kategoriId"]
val produkId = call.parameters["produkId"]
call.respondText("Kategori: $kategoriId, Produk: $produkId")
}
Praktikum
Buat route GET /artikel/{slug} yang merespons teks "Artikel: $slug" memakai call.parameters["slug"].
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
call.parameters["id"] mengembalikan String? (NULLABLE) karena secara teknis parameter itu BISA tidak ada — kalau kamu YAKIN parameternya selalu ada (karena sesuai definisi route), pakai call.parameters.getOrFail("id") yang otomatis melempar exception jelas kalau ternyata tidak ada, daripada null yang diam-diam menyebar ke kode berikutnya.