Framework web HTTP de alto desempenho para Go, com uma API semelhante à do Martini, feito para REST APIs, aplicações web e microsserviços.
labstack/echo
Um framework web minimalista e de alto desempenho para Go, baseado no pacote padrão net/http.
- Estrelas
- 32,776
- Forks
- 4,917
- Issues abertas
- 76
- Último commit
- há 9 dias
O que é?
Echo é um framework web para Go voltado à criação de servidores HTTP e APIs. Ele encapsula o pacote padrão net/http do Go e se integra a ele por meio de WrapHandler e WrapMiddleware, adicionando recursos que a biblioteca padrão deixa a cargo do desenvolvedor: um roteador baseado em árvore radix, vinculação de dados de requisições com validação extensível, um sistema de middleware e tratamento centralizado de erros.
Os handlers recebem um objeto de contexto para ler requisições e escrever respostas em JSON, XML, HTML, arquivos ou streams. É possível associar middleware à raiz, a grupos ou a rotas. O projeto oferece middleware oficial para autenticação JWT, OpenTelemetry, métricas Prometheus e pprof, além de suporte a TLS, HTTP/2, certificados automáticos via Let's Encrypt e encerramento gracioso.
A versão principal atual é a v5, e a v4 receberá correções de segurança até o fim de 2026.
Recursos principais
- 01Roteador rápido baseado em árvore radix, com grupos de rotas
- 02Vinculação de requisições para JSON, XML, formulários, parâmetros de query e de rota, com validação extensível
- 03Tratamento centralizado de erros e registro estruturado de requisições via log/slog
- 04Renderização de templates com qualquer mecanismo de templates
- 05TLS, HTTP/2, certificados automáticos do Let's Encrypt e encerramento gracioso
Casos de uso
- Criar APIs REST ou JSON em Go
- Desenvolver microsserviços que precisam de middleware para autenticação, logs e métricas
- Servir sites HTTPS com gerenciamento automático de certificados
Início rápido
- 1
Instale o módulo Echo v5 no seu projeto Go
go get github.com/labstack/echo/v5 - 2
Crie main.go com o código de exemplo do README
- 3
Execute o servidor e abra http://localhost:8080
go run main.go
Antes de usar
- É necessário ter Go. O README informa que há suporte às três versões mais recentes do Go.
Tópicos
Perguntas frequentes
- O que é echo?
- Um framework web minimalista e de alto desempenho para Go, baseado no pacote padrão net/http. Echo é um framework web para Go voltado à criação de servidores HTTP e APIs. Ele encapsula o pacote padrão net/http do Go e se integra a ele por meio de WrapHandler e WrapMiddleware, adicionando recursos que a biblioteca padrão deixa a cargo do desenvolvedor: um roteador baseado em árvore radix, vinculação de dados de requisições com validação extensível, um sistema de middleware e tratamento centralizado de erros.
- echo é gratuito? Qual é a licença?
- echo é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- echo ainda é mantido?
- Manutenção ativa. O último commit de echo foi em 12 de out. de 2026.
- Para que posso usar echo?
- Criar APIs REST ou JSON em Go Desenvolver microsserviços que precisam de middleware para autenticação, logs e métricas Servir sites HTTPS com gerenciamento automático de certificados
- Como instalar echo?
- Instale o módulo Echo v5 no seu projeto Go: go get github.com/labstack/echo/v5 Crie main.go com o código de exemplo do README Execute o servidor e abra http://localhost:8080: go run main.go
- Onde consigo echo?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/labstack/echo
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework web para Go inspirado no Express, construído sobre o mecanismo fasthttp, para criar APIs REST e servidores web.
Um microframework C++ rápido, no estilo do Flask, para criar serviços web HTTP e WebSocket, distribuído como header-only e fácil de usar.
Servidor web de alto desempenho, proxy reverso, balanceador de carga, API gateway e cache de conteúdo escrito em C.
Proxy HTTP interativo com suporte a TLS, que permite interceptar e inspecionar tráfego HTTP/1, HTTP/2 e WebSocket por interfaces de console, linha de comando e web.
Um túnel self-hosted escrito em Go que expõe serviços do localhost à internet usando seu próprio domínio e servidor.