Gofiber
  • Basic backend dengan Gofiber part 1
    • Pengenalan Gofiber
    • Instalasi Gofiber
    • Auto reload dengan air
    • Membaca semua data di struct dengan Gofiber
    • Membaca data spesifik di struct dengan Gofiber
    • Membuat data di struct dengan Gofiber
    • Mengupdate data di struct dengan Gofiber
    • Menghapus data di struct dengan Gofiber
    • Implementasi MVC di Gofiber
  • Basic backend dengan Gofiber part 2
    • Setting database menggunahkan gorm.io di Gofiber
    • Menambahkan query ke database di Gofiber
    • Membuat relasi dengan gorm di Gofiber
    • Membuat validasi dengan validator di Gofiber
    • Membuat CORS di Gofiber
    • Menghandle serangan XSS(Cross-Site Scripting) di Gofiber
    • Mengamankan header HTTP dengan helmet di Gofiber
    • Membuat middleware menggunahkan JWT(JSON Web Token) di Gofiber
    • Menambahkan query search di Gofiber
    • Menambahkan query sort di Gofiber
    • Membuat pagination di Gofiber
    • Membuat refresh token di Gofiber
    • Membuat local upload file di Gofiber
    • Membuat server upload dengan cloudinary di Gofiber
    • Membuat analisis code dengan GolangCI-Lint di Gofiber
Powered by GitBook
On this page
  1. Basic backend dengan Gofiber part 1

Membaca data spesifik di struct dengan Gofiber

Berikut adalah langkah-langkahnya:

  1. Tambahkan Field ID pada Struct Product: Tambahkan field ID (string atau integer) pada struct Product untuk menyimpan ID produk.

  2. Perbarui Fungsi initProducts(): Perbarui fungsi initProducts() untuk menambahkan ID untuk setiap produk.

  3. Tambahkan Route /product/:id: Tambahkan route /product/:id pada aplikasi Anda untuk menampilkan detail produk berdasarkan ID.

  4. Implementasikan Logika untuk Menampilkan Detail Produk: Di dalam handler untuk route /product/:id, temukan produk yang sesuai dengan ID yang diberikan dan kirim detail produk tersebut sebagai respons.

Berikut Implementasinya:

package main

import (
	"strconv"

	"github.com/gofiber/fiber/v2"
)

// Struct Product
type Product struct {
	ID    int     `json:"id"`
	Name  string  `json:"name"`
	Price float64 `json:"price"`
	Stock int     `json:"stock"`
}


func main() {
	// Inisialisasi objek Fiber
	app := fiber.New()
	
	products := []Product{
		{1, "Product A", 10.99, 100},
		{2, "Product B", 20.50, 50},
		{3, "Product C", 15.75, 75},
	}

	// Route untuk menampilkan data produk
	app.Get("/products", func(c *fiber.Ctx) error {

		// Kirim data produk dalam format JSON
		return c.JSON(products)
	})

	// Route untuk menampilkan detail produk berdasarkan ID
	app.Get("/product/:id", func(c *fiber.Ctx) error {
		// Dapatkan ID produk dari parameter route
		paramId := c.Params("id")
		id, _ := strconv.Atoi(paramId)

		// Temukan produk dengan ID yang sesuai
		var foundProduct Product
		for _, p := range products {
			if p.ID == id {
				foundProduct = p
				break
			}
		}

		// Kirim detail produk dalam format JSON
		return c.JSON(foundProduct)
	})

	// Jalankan server di port tertentu
	app.Listen(":3000")
}

Untuk mengakses gunahkan endpoint berikut dibrowser:

http://localhost:3000/product/1

Dalam kode di atas, kita telah menambahkan field ID pada struct Product, dan setiap produk sekarang memiliki ID unik. Kemudian, kita menambahkan route /product/:id untuk menampilkan detail produk berdasarkan ID. Di dalam handler untuk route tersebut, kita mencari produk dengan ID yang sesuai dari daftar produk yang sudah ada, dan mengirim detail produk tersebut sebagai respons.

PreviousMembaca semua data di struct dengan GofiberNextMembuat data di struct dengan Gofiber

Last updated 1 year ago