Selamat datang di seri Tutorial GoFiber Dasar. Di seri ini kita akan belajar membangun REST API blog sederhana dari nol menggunakan Fiber, salah satu web framework Go yang terinspirasi dari Express.js dan dikenal karena performanya yang tinggi.
Apa yang Akan Dipelajari
Sepanjang seri ini kita akan membangun sebuah API blog (Post) lengkap dengan:
- Routing & handler dasar di Fiber
- Koneksi database MySQL menggunakan GORM
- CRUD Post (Create, Read, Update, Delete)
- Validasi request
- Autentikasi JWT (register, login, refresh token)
- Middleware proteksi route
- Relasi Post-User (author) dan kategori/tag
- Upload gambar thumbnail
- Testing, dokumentasi API (Swagger), dan deploy pakai Docker
Kenapa GoFiber?
Fiber dibangun di atas Fasthttp, salah satu HTTP engine tercepat di ekosistem Go. Sintaksnya juga familiar buat yang sudah terbiasa dengan Express.js (Node.js), jadi cukup mudah dipelajari untuk pemula sekalipun.
Prasyarat
Sebelum mulai, pastikan sudah terinstall:
- Go versi 1.21 ke atas (
go versionuntuk cek) - MySQL (bisa lewat Docker, Laragon, XAMPP, atau instalasi native)
- Editor/IDE (VS Code, GoLand, dll)
Instalasi Project
Buat folder project baru, lalu inisialisasi Go module:
mkdir blogfiber && cd blogfiber
go mod init blogfiber
Install package Fiber v2:
go get github.com/gofiber/fiber/v2
Membuat Server Pertama
Buat file main.go di root project:
package main
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.JSON(fiber.Map{
"message": "Hello from GoFiber!",
})
})
log.Fatal(app.Listen(":3000"))
}
Penjelasan singkat:
fiber.New()membuat instance aplikasi Fiber baru.app.Get("/", ...)mendaftarkan routeGET /dengan sebuah handler.c.JSON(...)mengirim response dalam format JSON.app.Listen(":3000")menjalankan server di port 3000.
Menjalankan Server
go run main.go
Kalau berhasil, akan muncul banner Fiber di terminal dan server berjalan di http://127.0.0.1:3000. Coba akses lewat browser atau curl:
curl http://127.0.0.1:3000/
Responnya:
{"message":"Hello from GoFiber!"}
Sampai di sini, project GoFiber pertama kita sudah jalan. Di part berikutnya kita akan bahas routing lebih dalam dan pola handler yang lebih terstruktur.
Bagian dari Series: GoFiber Dasar - Belajar Fundamental Lewat REST API Blog
Belajar konsep-konsep dasar GoFiber (routing, handler, GORM, MySQL, JWT auth) dengan membangun REST API blog sederhana dari nol - lengkap dengan auten...
Lihat Series Lengkap