Como Criar APIs REST em Go com net/http Sem Framework
Aprenda a criar APIs REST completas em Go usando apenas net/http: routing com metodos HTTP, path parameters, middleware, JSON e logging estruturado com slog.
Muitos desenvolvedores Go acreditam que precisam de frameworks como Gin, Echo ou Fiber para construir APIs REST. A verdade e que, desde o Go 1.22, o pacote net/http da standard library tem tudo que voce precisa para criar APIs profissionais. Neste tutorial, vamos construir uma API REST completa – com routing por metodo HTTP, path parameters, middleware, JSON e logging estruturado – sem nenhuma dependencia externa.
Se voce prefere entender os conceitos antes de ver codigo, recomendo nossos glossarios sobre HTTP, handler, middleware e router.
Middleware: O que É e Como Funciona | Golang Brasil
Entenda o que é middleware em Go, como implementar logging, autenticação, CORS, rate limiting, recovery e composição de middlewares.
O que é Middleware em Go?
Middleware em Go é uma função que envolve um handler HTTP para executar lógica antes e/ou depois do processamento da requisição. O padrão é elegantemente simples: uma função que recebe um http.Handler e retorna um novo http.Handler, criando uma cadeia de processamento onde cada camada pode inspecionar, modificar ou interromper o fluxo da requisição.
Esse padrão — tecnicamente chamado de “decorator” — é possível graças à interface http.Handler de Go e ao poder das funções como valores de primeira classe. Diferente de frameworks que usam pipelines complexos com reflexão ou injeção de dependência, middlewares em Go são funções puras que se compõem naturalmente. Isso os torna fáceis de escrever, testar e raciocinar sobre — e é a razão pela qual até frameworks populares como Chi e Echo usam exatamente esse padrão.