Translate

martes, 3 de enero de 2023

Echo, Framework web de alto rendimiento, extensible y minimalista para Golang


Echo, es un framework web para golang que nos brinda : 

  • Enrutador HTTP altamente optimizado con asignación de memoria dinámica cero que prioriza rutas de manera inteligente.
  • Creación de un API RESTful robusta y escalable, fácilmente organizada en grupos.
  • Se puede instalar automáticamente certificados TLS de Let's Encrypt.
  • La compatibilidad con HTTP/2 mejora la velocidad y proporciona una mejor experiencia de usuario.
  • Muchos middleware integrados para usar o definir el suyo propio. El middleware se puede configurar a nivel de raíz, grupo o ruta.
  • Enlace de datos para la carga útil de la solicitud HTTP, incluidos JSON, XML o datos de formulario.
  • API para enviar una variedad de respuestas HTTP, incluidos JSON, XML, HTML, archivo, adjunto, en línea, flujo o blob.
  • Representación de plantillas utilizando cualquier motor de plantillas
  • Manejo de errores HTTP central personalizado. API fácilmente extensible.


Muy lindo todo pero la idea es hacer un hola mundo, veamos. 


Para instalar se requiere Echo Go v1.13 o superior. Go v1.12 tiene soporte limitado y algunos middlewares no estarán disponibles. Asegúrese de que la carpeta de su proyecto esté fuera de su $GOPATH.


$ mkdir myapp && cd myapp

$ go mod init myapp

$ go get github.com/labstack/echo/v4


Si está trabajando con Go v1.14 o anterior, use:


$ GO111MODULE=on go get github.com/labstack/echo/v4

Veamos exponer un servicio enel golang : 

package main

import (
"net/http"
"github.com/labstack/echo/v4"
)

func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Logger.Fatal(e.Start(":1323"))
}

Y lo corremos de esta manera : 

$ go run server.go

Dejo link: https://echo.labstack.com/