Study
← Semua Kategori

Gin

Pengenalan Gin

Apa itu Gin, cara instalasi lewat go get, dan cara menjalankan server pertamamu.

Routing Dasar

Mendaftarkan endpoint lewat r.GET(), r.POST(), dan HTTP method lainnya.

Route Parameter

Menerima parameter dinamis dari URL lewat c.Param().

Query String & Request Body

Mengambil data dari query string lewat c.Query(), dan body JSON lewat c.ShouldBindJSON().

Response Methods: c.JSON() & gin.H

Berbagai cara mengirim response lewat c.String(), c.JSON(), dan shortcut gin.H untuk map data.

Middleware Dasar

Fungsi yang dijalankan sebelum handler route, dirangkai lewat r.Use() dan c.Next().

Group Routing

Mengelompokkan route dengan prefix dan middleware bersama lewat r.Group().

Built-in Middleware & CORS

Middleware Logger dan Recovery sudah aktif otomatis lewat gin.Default(), CORS lewat package gin-contrib/cors.

Validasi Input

Memvalidasi struct request otomatis lewat tag binding, terintegrasi langsung di ShouldBindJSON().

Error Handling

Mengumpulkan error lewat c.Error(), ditangani terpusat lewat middleware di akhir chain.

GORM: Model & Migration

Menghubungkan Gin ke database lewat GORM, sama seperti Echo dan Fiber.

GORM: Query

Merangkai query database lewat method chaining GORM, identik pemakaiannya di Echo dan Fiber.

CRUD REST API Lengkap

Menggabungkan Group, ShouldBindJSON, binding, dan GORM jadi endpoint CRUD lengkap.

Context: c.Set() & c.Get()

Menyimpan dan membaca data custom di request lewat c.Set() dan c.Get(), sama polanya dengan Echo.

File Upload

Menerima upload file lewat c.FormFile(), menyimpannya lewat c.SaveUploadedFile().

JWT Authentication Dasar

Melindungi endpoint dengan JSON Web Token, memakai package golang-jwt langsung di middleware custom.

Static Files

Menyajikan file statis (gambar, CSS, JS) lewat r.Static().

Graceful Shutdown

Mematikan server dengan aman lewat http.Server standar Go, dibungkus dari r.Handler().

Tugas Akhir

Latihan akhir menggabungkan Group, ShouldBindJSON, binding, dan GORM dalam satu REST API Catatan.