Route Parameter
Penjelasan
Route bisa menerima parameter dinamis lewat titik dua di path, mis. /produk/:id — nilainya diakses lewat c.Param("id"), SELALU mengembalikan string (perlu konversi manual kalau butuh tipe lain, mis. strconv.Atoi() untuk angka).
Contoh Konsep
e.GET("/produk/:id", func(c echo.Context) error {
id := c.Param("id")
return c.String(http.StatusOK, fmt.Sprintf("Menampilkan produk dengan id: %s", id))
})
e.GET("/kategori/:kategoriId/produk/:produkId", func(c echo.Context) error {
kategoriId := c.Param("kategoriId")
produkId := c.Param("produkId")
return c.String(http.StatusOK, fmt.Sprintf("Kategori: %s, Produk: %s", kategoriId, produkId))
})
Praktikum
Buat route GET /artikel/:slug yang merespons teks "Artikel: {slug}" memakai c.Param("slug") dan fmt.Sprintf().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kalau butuh mengubah parameter jadi angka (mis. id produk), pakai strconv.Atoi(c.Param("id")) — method ini mengembalikan DUA nilai (angkanya dan error), WAJIB dicek errornya karena URL bisa saja diisi teks bukan angka, mis. /produk/abc.