CRUD REST API Lengkap
Penjelasan
REST API CRUD lengkap di Fiber menggabungkan semua materi sebelumnya: Group untuk path terorganisir, BodyParser+validate untuk data masuk yang aman, GORM untuk persist ke database — strukturnya nyaris identik Echo, cuma beda penamaan method di beberapa tempat.
Contoh Konsep
produkGroup := app.Group("/produk")
produkGroup.Get("/", func(c *fiber.Ctx) error {
var produk []Produk
db.Find(&produk)
return c.JSON(produk)
})
produkGroup.Post("/", func(c *fiber.Ctx) error {
var req Produk
if err := c.BodyParser(&req); err != nil {
return err
}
db.Create(&req)
return c.Status(fiber.StatusCreated).JSON(req)
})
produkGroup.Delete("/:id", func(c *fiber.Ctx) error {
db.Delete(&Produk{}, c.Params("id"))
return c.SendStatus(fiber.StatusNoContent)
})
Praktikum
Bikin app.Group("/artikel") dengan 3 route: Get("/") (semua artikel via db.Find()), Post("/") (tambah baru via c.BodyParser() + db.Create()), Delete("/:id") (hapus via db.Delete(), respons SendStatus NoContent).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
c.SendStatus(kode) mengirim response HANYA berisi status code tanpa body — lebih ringkas dibanding c.Status(kode).Send(nil) untuk kasus seperti DELETE yang memang tidak perlu mengembalikan data apa pun ke client.