0Pricing
Go Academy · Pelajaran

Router Gin dan Grup Rute

Penyiapan engine, grup, dan parameter path

Router Gin dan Grup Rute adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.

Apa itu Gin?

Gin adalah kerangka kerja web HTTP berperforma tinggi untuk Go. Gin menggunakan perute pohon radix, menyediakan dukungan perangkat tengah, pengikatan JSON, dan validasi — sehingga populer untuk API REST.

Instalasi dan pengaturan dasar

Impor dan buat engine Gin:

go get github.com/gin-gonic/gin

package main

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{"message": "pong"})
    })
    r.Run(":8080")
}

gin.Default dibandingkan dengan gin.New

gin.Default() menyertakan perangkat tengah Logger dan Recovery. gin.New() membuat engine tanpa perangkat tengah — gunakan ini jika Anda menginginkan kendali penuh atas perangkat tengah.

Metode rute

Daftarkan rute untuk metode HTTP: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD, dan Any:

r.GET("/users", listUsers)
r.POST("/users", createUser)
r.PUT("/users/:id", updateUser)
r.DELETE("/users/:id", deleteUser)

Parameter jalur

Ekstrak parameter jalur dengan c.Param("name"):

r.GET("/users/:id", func(c *gin.Context) {
    id := c.Param("id")
    c.JSON(200, gin.H{"id": id})
})

Parameter kueri

Baca parameter kueri dengan c.Query dan c.DefaultQuery:

page := c.DefaultQuery("page", "1")
limit := c.Query("limit") // "" if absent

Grup rute

Kelompokkan rute yang berkaitan di bawah awalan umum dengan r.Group. Perangkat tengah yang diterapkan pada grup akan memengaruhi semua rute di dalamnya:

api := r.Group("/api/v1")
{
    api.GET("/users", listUsers)
    api.POST("/users", createUser)
    api.PUT("/users/:id", updateUser)
}

Grup bertingkat

Grup dapat dibuat bertingkat untuk pengaturan yang lebih terperinci:

admin := r.Group("/admin")
admin.Use(AdminAuth())
{
    admin.GET("/stats", getStats)
    admin.DELETE("/users/:id", deleteUser)
}

Rute tidak ditemukan / metode tidak diizinkan

Tangani status 404 dan 405 dengan baik menggunakan r.NoRoute dan r.NoMethod:

r.NoRoute(func(c *gin.Context) {
    c.JSON(404, gin.H{"error": "not found"})
})

Berkas statis

Sajikan berkas statis dari sebuah direktori:

r.Static("/static", "./public")
r.StaticFile("/favicon.ico", "./favicon.ico")

Engine sebagai http.Handler

*gin.Engine milik Gin mengimplementasikan http.Handler, sehingga Anda dapat menggunakannya dengan http.Server khusus untuk mengatur batas waktu:

srv := &http.Server{Addr: ":8080", Handler: r, ReadTimeout: 5*time.Second}
srv.ListenAndServe()

Pemeriksaan Singkat

Apa keuntungan menggunakan grup rute di Gin?

Ringkasan: Perute dan Grup Gin

Poin utama:

  • gin.Default() menyertakan Logger+Recovery; gin.New() untuk pengaturan khusus
  • c.Param untuk parameter jalur; c.Query untuk parameter kueri
  • r.Group("/prefix") untuk awalan dan perangkat tengah bersama
  • Gin mengimplementasikan http.Handler — gunakan dengan http.Server khusus

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Router Gin dan Grup Rute” gratis?

Ya — teks lengkap “Router Gin dan Grup Rute” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Router Gin dan Grup Rute”?

Penyiapan engine, grup, dan parameter path Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Go Academy?

Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Router Gin dan Grup Rute” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?

Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Router Gin dan Grup Rute
  2. Pengikatan dan Validasi Permintaan
  3. Pembantu Respons dan Kode Status
  4. Middleware Gin: Autentikasi dan Logging
← Kembali ke Go Academy