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/