Estrutura da web Go minimalista, de alto desempenho e extensível.
Site oficial
Início rápido
Middlewares
Ajuda e perguntas: Discussões no Github
Roteador HTTP otimizado que prioriza rotas de forma inteligente
Crie APIs RESTful robustas e escaláveis
APIs de grupo
Estrutura de middleware extensível
Defina middleware em nível raiz, grupo ou rota
Vinculação de dados para JSON, XML e carga útil de formulário
Funções úteis para enviar diversas respostas HTTP
Tratamento centralizado de erros HTTP
Renderização de modelo com qualquer mecanismo de modelo
Defina seu formato para o logger
Altamente personalizável
TLS automático via Let's Encrypt
Suporte HTTP/2
Encore – a plataforma para construção de back-ends em nuvem baseados em Go
Clique aqui para mais informações sobre patrocínio.
Data: 11/11/2020
Fonte: https://github.com/vishr/web-framework-benchmark
Menor é melhor!
Os benchmarks acima foram executados em uma CPU Intel(R) Core(TM) i7-6820HQ a 2,70GHz
// acesse github.com/labstack/echo/{version} acesse github.com/labstack/echo/v4
A versão mais recente do Echo suporta os últimos quatro lançamentos principais do Go e pode funcionar com versões mais antigas.
pacote mainimport ( "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "net/http")func main() { // Instância de eco e := echo.New() // Middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Rotas e.GET("/", olá) // Inicia servidor e.Logger.Fatal(e.Start(":1323")) }// Handlerfunc hello(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }
A lista de middleware a seguir é mantida pela equipe Echo.
Repositório | Descrição |
---|---|
github.com/labstack/echo-jwt | Middleware JWT |
github.com/labstack/echo-contrib | casbin, gorilla/sessions, jaegertracing, prometheus, pprof, middlewares zipkin |
Tenha cuidado ao adicionar middleware de terceiros. As equipes Echo não têm tempo nem mão de obra para garantir a segurança e a qualidade dos middlewares desta lista.
Repositório | Descrição |
---|---|
mapa profundo/oapi-codegen | Gere automaticamente documentação de API RESTful com OpenAPI Client e Server Code Generator |
github.com/swaggo/echo-swagger | Gere automaticamente documentação da API RESTful com Swagger 2.0. |
github.com/ziflex/lecho | Wrapper da biblioteca de registro Zerolog para interface do Echo logger. |
github.com/brpaz/echozap | Wrapper da biblioteca de registro Zap do Uber para interface do Echo logger. |
github.com/samber/slog-echo | Vá para o wrapper da biblioteca de registro de slog para a interface do Echo logger. |
github.com/darkweak/souin/plugins/echo | Sistema de cache HTTP baseado em Souin para armazenar automaticamente seus endpoints em cache. Ele oferece suporte a alguns sistemas de armazenamento distribuídos e não distribuídos, dependendo de suas necessidades. |
github.com/mikestefanello/pagoda | Kit inicial de desenvolvimento web full-stack rápido e fácil desenvolvido com Echo. |
github.com/go-woo/protoc-gen-echo | ProtoBuf gera código do lado do servidor Echo |
Envie um PR para adicionar sua própria biblioteca aqui.
Use problemas para tudo
Para uma pequena mudança, basta enviar um PR.
Para mudanças maiores, abra um problema para discussão antes de enviar um PR.
PR deve ter:
Caso de teste
Documentação
Exemplo (se fizer sentido)
Você também pode contribuir:
Relatando problemas
Sugestão de novos recursos ou melhorias
Melhorar/corrigir documentação
Vishal Rana (Autor)
Nitin Rana (Consultora)
Roland Lammel (Mantenedor)
Martti T. (Mantenedor)
Pablo Andrés Fuente (Mantenedor)
Colaboradores
MIT