DEV Community

Cover image for Guía de Crear una API con Go Fiber de 0
Marlos Rodriguez
Marlos Rodriguez

Posted on • Edited on

Guía de Crear una API con Go Fiber de 0

¿Porque escoger Go para crear una API?

Go es un lenguaje pensado para la web por Google y se caracteriza por:

  • lenguaje rápido: por ser compilado y tener poca locación de memoria.
  • Fuertemente tipado: facilitando la creación de código limpio y fácil de leer.
  • Eficiente para crear servidores y aplicaciones web: Es un leguaje pensado para la web preparado con multi-hilo y asincronismo.

Por lo que es perfecto para crear API rápidamente y con un buen rendimiento.

¿Que es Fiber y porque debería usarlo?

Fiber es un framework web inspirado en Express construido sobre Fasthttp, el motor HTTP más rápido para Go. Diseñado para facilitar las cosas para un desarrollo rápido con cero asignación de memoria y rendimiento en mente.

Existen varios Frameworks de Go, pero entre todos Fiber es mi favorito, bastante sencillo de usar y con gran rendimiento, sirve tanto para un proyecto pequeño como para uno grande. Es ideal para comenzar con Go, tiene una buena documentación, y en caso de necesitar ayuda tiene un servidor de Discord muy activo (En ingles 😎).

¿Bien, Como empiezo?

Primero que nada necesitas Go para trabajar con Go (🤪) así que hay que descargarlo en la pagina oficial de Go, descargan la version mas nueva de Go, una vez instalado ejecutan este comando:

> go version
go version go1.15.6 windows/amd64
Enter fullscreen mode Exit fullscreen mode

¡Genial! ¡Ya tenemos Go instalado!

¡Ahora necesitamos crear nuestro gran proyecto! Vamos a usar “Go Modules” para crear un proyecto en cualquier carpeta, ejecutamos este comando:

> go mod init asombrosoProyecto
go: creating new go.mod: module asombrosoProyecto
Enter fullscreen mode Exit fullscreen mode

creara un nuevo proyecto en la carpeta con el nombre asombrosoProyecto, puedes cambiarlo por lo que quieras, y sera la ruta base de nuestro proyecto. Además notaras el archivo go.mod el cual fue creado y nos dice el nombre del proyecto, la version de Go y las dependencias que tenemos, que de momento no tenemos ninguna.
¿Que necesitamos para crear una API con Fiber? Pues Fiber ¿no? 🤣
Para instalar un ejecutamos el comando go get seguido del nombre del paquete, para instalar fiber ejecutamos:

> go get github.com/gofiber/fiber/v2
go: downloading github.com/gofiber/fiber/v2 v2.3.3
Enter fullscreen mode Exit fullscreen mode

Esto agregara fiber como dependencia a nuestro go.mod , en este punto debería verse así:

module asombrosoProyecto

go 1.15

require github.com/gofiber/fiber/v2 v2.3.3
Enter fullscreen mode Exit fullscreen mode

Tambien habrá creado un go.sum el cual se encargará de gestionar nuestras versiones e indicar el hash de integridad de cada una de ellas, permitiendo trabajar con las dependencias.

¡Listo! ¡Ya tenemos todo lo necesario para empezar a escribir código! 🤩

Escribir el código de nuestra API

Creamos un archivo main.go y abrimos nuestro editor de código de preferencia, agregamos log y fiber a nuestro programa:

package main

import (
    "log"

    "github.com/gofiber/fiber/v2"
)
Enter fullscreen mode Exit fullscreen mode

esto importara log y fiber para ser usado en nuestro código, en nuestra función main agregamos este código:

func main() {
    //Crear nuestra aplicación de Fiber
    app := fiber.New()
    /*Esto creara una petición GET en la ruta base
    Regresara un simple string 
    Primero se agrega un string que sera el path de la ruta 
    y luego se agrega la funcion handler, el cual tiene
    siempre esa forma*/
    app.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("Hello, World 👋!")
    })
    /*Se ejecuta el servidor y en caso de fallar mostrara
    log.Fatal con el error*/
    log.Fatal(app.Listen(":3000"))
}
Enter fullscreen mode Exit fullscreen mode

Ahora para ejecutar el servidor, ejecutamos go run main.go pero primero, para evitar errores con las dependencias, ejecutamos:

go mod tidy
Enter fullscreen mode Exit fullscreen mode

Esto para garantizar que los módulos de los que depende tu proyecto no cambien inesperadamente, ya sea por razones maliciosas, accidentales o de otro tipo.

Ahora si, ejecuta:

go run main.go
Enter fullscreen mode Exit fullscreen mode

Y deberían ver algo como esto:
fiber_console

¡Felicidades! ¡Tienes tu primera API con Go Fiber! visita localhost:3000 en tu navegador y deberías ver:
Alt Text

Para seguir aprendiendo te recomiendo que mires:

  • Fiber Recipes: Un conjunto de ejemplos creados con fiber, diferentes bases de datos, tecnologías o testing.
  • Fiber Docs: La documentación tiene todo lo que necesitas para crear una aplicación, pequeña o grande.

Pero sobre todo, no dejes de aprender y exprimentar. Nunca pares de aprender.
En un futuro Post cubriré como crear un CRUD e integrarlo con PostgreSQL 😘 Gracias por leer.

Top comments (2)

Collapse
 
tisoportes profile image
tisoportes

Gracias por compartir! justo lo que andaba buscando para empezar a usar fiber.

Collapse
 
marlosrodriguez profile image
Marlos Rodriguez

Gracias a ti, me alegro que te haya servido 🤗.