Go Fiber Guide

Quick Start

go get github.com/gofiber/fiber/v2 package main import "github.com/gofiber/fiber/v2" func main() { app := fiber.New(fiber.Config{ AppName: "MyAPI", ReadTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second, }) app.Get("/", func(c *fiber.Ctx) error { return c.JSON(fiber.Map{"message": "Hello, World!"}) }) app.Get("/users/:id", getUser) app.Post("/users", createUser) app.Put("/users/:id", updateUser) app.Delete("/users/:id", deleteUser) app.Listen(":8080") }

Middleware

import ( "github.com/gofiber/fiber/v2/middleware/cors" "github.com/gofiber/fiber/v2/middleware/logger" "github.com/gofiber/fiber/v2/middleware/recover" "github.com/gofiber/fiber/v2/middleware/limiter" ) app.Use(recover.New()) app.Use(logger.New()) app.Use(cors.New(cors.Config{ AllowOrigins: "https://example.com", AllowMethods: "GET,POST,PUT,DELETE", })) app.Use(limiter.New(limiter.Config{ Max: 100, Expiration: 1 * time.Minute, })) // Custom middleware app.Use(func(c *fiber.Ctx) error { c.Set("X-Request-ID", uuid.New().String()) return c.Next() })

Context Methods

MethodPurpose
c.Params("id")URL path parameter
c.Query("page")Query string parameter
c.BodyParser(&dto)Parse request body
c.JSON(data)JSON response
c.Status(404).JSON(...)Status + JSON
c.Redirect("/path")Redirect
c.Locals("key", val)Store request-scoped data
c.Get("X-Header")Get request header