Group Routing
Penjelasan
r.Group(prefix) membuat grup route dengan PATH PREFIX bersama, konsepnya identik e.Group() Echo dan app.Group() Fiber — bisa dipasangi middleware yang berlaku hanya di dalam grup itu.
Contoh Konsep
produkGroup := r.Group("/produk")
{
produkGroup.GET("", func(c *gin.Context) {
c.String(200, "Daftar semua produk")
})
produkGroup.GET("/:id", func(c *gin.Context) {
c.String(200, fmt.Sprintf("Detail produk %s", c.Param("id")))
})
}
// Grup dengan middleware khusus:
adminGroup := r.Group("/admin", CekJamKerja())
adminGroup.GET("/dashboard", func(c *gin.Context) {
c.String(200, "Dashboard admin")
})
Praktikum
Buat r.Group("/artikel") berisi route GET "" (daftar artikel) dan GET "/:id" (detail artikel).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kurung kurawal { } setelah r.Group(...) di contoh HANYA konvensi gaya penulisan (scoping visual), BUKAN syntax wajib Go — kode tetap berfungsi sama tanpa kurung itu, tapi banyak developer Gin memakainya supaya jelas route mana saja yang "masuk" ke grup tertentu saat dibaca.