51 lines
998 B
Go
51 lines
998 B
Go
package main
|
|
|
|
import (
|
|
"fiber-demo/database"
|
|
"log"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
func main() {
|
|
database.Connect()
|
|
database.AutoMigrate()
|
|
// Inisialisasi aplikasi Fiber
|
|
app := fiber.New()
|
|
|
|
// Route untuk halaman utama
|
|
app.Get("/", func(c *fiber.Ctx) error {
|
|
return c.SendString("Hello, World! 👋")
|
|
})
|
|
|
|
// Route untuk GET /api/greeting
|
|
app.Get("/api/greeting", func(c *fiber.Ctx) error {
|
|
return c.JSON(fiber.Map{
|
|
"message": "Hello from Fiber API!",
|
|
"status": "success",
|
|
})
|
|
})
|
|
|
|
// Route untuk POST /api/greeting
|
|
app.Post("/api/greeting", func(c *fiber.Ctx) error {
|
|
type Request struct {
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
var body Request
|
|
if err := c.BodyParser(&body); err != nil {
|
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
|
"error": "Cannot parse JSON",
|
|
})
|
|
}
|
|
|
|
return c.JSON(fiber.Map{
|
|
"message": "Hello, " + body.Name + "!",
|
|
"status": "success",
|
|
})
|
|
})
|
|
|
|
// Menjalankan server di port 3000
|
|
log.Fatal(app.Listen(":3000"))
|
|
}
|