Echo
Pengenalan Echo
Apa itu Echo, cara instalasi lewat go get, dan cara menjalankan server pertamamu.
Routing Dasar
Mendaftarkan endpoint lewat e.GET(), e.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.QueryParam(), dan body JSON lewat c.Bind().
Response Methods
Berbagai cara mengirim response: c.String(), c.JSON(), dan status code HTTP.
Middleware Dasar
Fungsi yang dijalankan sebelum handler route, dirangkai lewat e.Use() dan next().
Group Routing
Mengelompokkan route dengan prefix dan middleware bersama lewat e.Group().
Built-in Middleware: Logger, Recover, CORS
Middleware siap pakai bawaan Echo untuk kebutuhan umum, tinggal diaktifkan tanpa menulis sendiri.
Validasi Input
Memvalidasi struct request lewat tag validate dan package go-playground/validator.
Error Handling
Menangani error secara terpusat lewat HTTPErrorHandler custom.
GORM: Model & Migration
Menghubungkan Echo ke database lewat GORM, ORM paling populer di ekosistem Go.
GORM: Query
Merangkai query database lewat method chaining GORM: Where(), Order(), Find().
CRUD REST API Lengkap
Menggabungkan Group, Bind, Validate, dan GORM jadi endpoint CRUD lengkap.
Context & Data Sharing Antar Middleware
Menyimpan dan membaca data custom di echo.Context lewat c.Set() dan c.Get().
File Upload
Menerima upload file lewat c.FormFile(), menyimpannya ke disk.
JWT Authentication Dasar
Melindungi endpoint dengan JSON Web Token lewat middleware echojwt.
Static Files
Menyajikan file statis (gambar, CSS, JS) lewat e.Static().
Graceful Shutdown
Mematikan server dengan aman, menyelesaikan request yang sedang berjalan sebelum benar-benar berhenti.
Tugas Akhir
Latihan akhir menggabungkan Group, Bind, Validate, dan GORM dalam satu REST API Catatan.