Route Parameter
Penjelasan
Parameter dinamis pada URL ditulis dengan tanda titik dua di depan nama, misalnya `/posts/:id`. Nilainya bisa diambil di dalam handler lewat `payload(:id)` atau dengan mendeklarasikan parameter fungsi menggunakan tipe tertentu supaya Genie otomatis melakukan konversi tipe (mis. dari string ke Int). Genie juga mendukung penentuan tipe pada segmen route langsung di definisi path, misalnya `/posts/:id::Int`, sehingga request dengan nilai yang tidak sesuai tipe akan otomatis ditolak sebelum masuk ke handler.
Contoh Konsep
using Genie.Router
# Parameter route dengan tipe Int
route("/posts/:id::Int") do
id = payload(:id)
"Menampilkan post dengan id $id"
end
# Beberapa parameter sekaligus
route("/kategori/:kategori/produk/:slug") do
kategori = payload(:kategori)
slug = payload(:slug)
"Kategori: $kategori, Produk: $slug"
end
Praktikum
Buat route "/user/:username" yang menampilkan teks sapaan berisi nilai username dari URL.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Tambahkan penentuan tipe seperti `::Int` pada parameter numerik supaya validasi format terjadi otomatis, bukan manual dengan `parse` di dalam handler.