Membaca data spesifik di struct dengan Gofiber
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")
}
Last updated