Framework web HTTP de alto desempenho para Go, com uma API semelhante à do Martini, feito para REST APIs, aplicações web e microsserviços.
go-chi/chi
Um router leve e compatível com net/http para criar serviços de REST API em Go, com middleware, grupos de rotas e montagem de sub-routers.
- Estrelas
- 22,981
- Forks
- 3,717
- Issues abertas
- 132
- Último commit
- há 4 dias
O que é?
chi é um router para serviços HTTP em Go. Ele associa padrões de URL com parâmetros nomeados e curingas a handlers e é construído sobre os pacotes net/http e context da biblioteca padrão, então qualquer handler ou middleware escrito para net/http pode ser usado com ele. O router principal é pequeno e não tem dependências externas.
O router oferece middleware combináveis, middleware inline em rotas individuais, grupos de rotas e montagem de sub-routers separados sob um prefixo de caminho. Isso facilita dividir uma REST API grande em pacotes menores, cada um com sua própria pilha de middleware. Valores associados à requisição, cancelamentos e timeouts são propagados pelo context da requisição.
O pacote opcional de middleware oferece componentes como IDs de requisição, logging, recuperação de panics, compressão, limitação de tráfego, timeouts e detecção de IP do cliente. Pacotes complementares incluem recursos para CORS, autenticação com JWT, limitação de taxa e geração de documentação de rotas por meio do docgen.
Recursos principais
- 01Parâmetros de URL nomeados, parâmetros com expressões regulares e curingas nos padrões de rota
- 02Pilha de middleware, middleware inline e grupos de rotas
- 03Montagem de sub-routers sob prefixos de caminho
- 04Totalmente compatível com handlers e middleware padrão de net/http
- 05Pacote de middleware integrado para logging, recuperação de panics, compressão, timeouts e muito mais
Casos de uso
- Criar serviços de REST API grandes e fáceis de manter em Go
- Dividir um serviço HTTP monolítico em sub-routers modulares
- Adicionar a serviços em Go uma pilha padrão de middleware para logging, autenticação e timeouts
Início rápido
- 1
Instale chi com go get
go get -u github.com/go-chi/chi/v5
Tópicos
Perguntas frequentes
- O que é chi?
- Um router leve e compatível com net/http para criar serviços de REST API em Go, com middleware, grupos de rotas e montagem de sub-routers. chi é um router para serviços HTTP em Go. Ele associa padrões de URL com parâmetros nomeados e curingas a handlers e é construído sobre os pacotes net/http e context da biblioteca padrão, então qualquer handler ou middleware escrito para net/http pode ser usado com ele. O router principal é pequeno e não tem dependências externas.
- chi é gratuito? Qual é a licença?
- chi é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- chi ainda é mantido?
- Manutenção ativa. O último commit de chi foi em 18 de out. de 2026.
- Para que posso usar chi?
- Criar serviços de REST API grandes e fáceis de manter em Go Dividir um serviço HTTP monolítico em sub-routers modulares Adicionar a serviços em Go uma pilha padrão de middleware para logging, autenticação e timeouts
- Como instalar chi?
- Instale chi com go get: go get -u github.com/go-chi/chi/v5
- Onde consigo chi?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/go-chi/chi
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um framework web minimalista e de alto desempenho para Go, baseado no pacote padrão net/http.
Framework web para Go inspirado no Express, construído sobre o mecanismo fasthttp, para criar APIs REST e servidores web.
Framework Java opinativo para criar aplicações e serviços Spring prontos para produção, com configuração mínima.
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.
Um toolkit para criar Web APIs sobre o Django, com serialização, políticas de autenticação, viewsets e uma API navegável.