Route Parameter
Penjelasan
Route bisa menerima parameter dinamis lewat titik dua di path, mis. /produk/:id — nilainya diakses lewat c.Params("id"), SELALU string, mirip persis req.params.id di Express.js tapi dipanggil sebagai method, bukan properti objek.
Contoh Konsep
app.Get("/produk/:id", func(c *fiber.Ctx) error {
id := c.Params("id")
return c.SendString(fmt.Sprintf("Menampilkan produk dengan id: %s", id))
})
app.Get("/kategori/:kategoriId/produk/:produkId", func(c *fiber.Ctx) error {
kategoriId := c.Params("kategoriId")
produkId := c.Params("produkId")
return c.SendString(fmt.Sprintf("Kategori: %s, Produk: %s", kategoriId, produkId))
})
Praktikum
Buat route GET /artikel/:slug yang merespons teks "Artikel: {slug}" memakai c.Params("slug") dan fmt.Sprintf().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
c.Params("id", "defaultValue") bisa menerima ARGUMEN KEDUA sebagai nilai default kalau parameter-nya tidak ada — fitur ini TIDAK dimiliki c.Param() Echo, salah satu contoh kecil perbedaan API antar dua framework Go yang konsepnya mirip ini.