Study
Fiber

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).

Editor Latihan

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.