Study
Genie

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.

Editor Latihan

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.