¿Qué es Fiber?
Fiber es un framework de Go, que permite crear servidores HTTP de forma sencilla y rapida.
Esta inspirado en el framework Express de Nodejs, por lo que si ya lo conoces, este framework te será muy fácil aprenderlo
Creación del Proyecto
Puedes usar los siguientes comandos para crear tu primer proyecto con Fiber:
Primero abre una consola o terminal de tu sistema, crea una carpeta:
mkdir hello-fiber
Ubica la consola dentro de la carpeta:
cd hello-fiber
Luego inicializa un modulo de Go:
go mod init github.com/fazttech/hello-fiber
En mi caso he usado mi direccion de github, pero puedes colocar tu nickname y el nombre que quieras para tu proyecto
Creacion de Proyecto Fiber
package main
import (
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Listen(":3000")
}
Hola Mundo
Podemos escribir rutas a partir de funciones como Get:
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
Rutas Separadas
type User struct {
FirstName string
LastName string
}
func handleUser(c *fiber.Ctx) error {
user := User{
FirstName: "John",
LastName: "Doe",
}
return c.Status(fiber.StatusOK).JSON(user)
}
func main() {
app := fiber.New()
app.Get("/user", handleUser)
app.Listen(":3000")
}
Post Request
func handleCreateUser(c *fiber.Ctx) error { user := User{}
if err := c.BodyParser(&user); err != nil {
return err
}
user.Id = uuid.NewString()
return c.Status(fiber.StatusOK).JSON(user)
}
func main() {
app := fiber.New()
app.Post("/users", handleCreateUser)
app.Listen(":3000")
}
Agrupar Rutas
usersGroup := app.Group("/users")
usersGroup.Get("", handleUser)
usersGroup.Post("", handleCreateUser)
Middlwares, Funciones Intermedias
func main() {
app := fiber.New()
// Middlewares
app.Use(logger.New())
app.Use(requestid.New())
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
usersGroup := app.Group("/users")
usersGroup.Get("", handleUser)
usersGroup.Post("", handleCreateUser)
app.Listen(":3000")
}