Study
Gin

Route Parameter

Penjelasan

Route bisa menerima parameter dinamis lewat titik dua di path, mis. /produk/:id — nilainya diakses lewat c.Param("id"), SELALU string. Penamaan method c.Param() (bentuk tunggal) sama dengan Echo, beda dari c.Params() (bentuk jamak) di Fiber — perbedaan kecil yang gampang salah kalau baru pindah antar tiga framework Go ini.

Contoh Konsep

r.GET("/produk/:id", func(c *gin.Context) {
	id := c.Param("id")
	c.String(200, fmt.Sprintf("Menampilkan produk dengan id: %s", id))
})

r.GET("/kategori/:kategoriId/produk/:produkId", func(c *gin.Context) {
	kategoriId := c.Param("kategoriId")
	produkId := c.Param("produkId")
	c.String(200, 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().

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Gin juga mendukung wildcard parameter lewat *nama (mis. /file/*path menangkap SISA path setelah /file/, termasuk garis miring lagi di dalamnya) — beda dari :nama yang cuma menangkap SATU segmen path, berguna untuk kasus seperti serving nested file path.