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.

Ler mais →

Handler: O que É e Como Funciona | Golang Brasil

Entenda o que é handler em Go, como usar http.Handler, http.HandlerFunc, ServeMux com method routing, composição e testes de handlers.

O que é Handler em Go?

Um handler em Go é qualquer valor que implementa a interface http.Handler, definida no pacote net/http. Essa interface possui um único métodoServeHTTP(ResponseWriter, *Request) — e é o bloco fundamental para construir aplicações web em Go. Todo processamento de requisições HTTP, desde servir uma página estática até executar lógica complexa de negócios, passa por handlers.

A simplicidade dessa interface é uma decisão de design deliberada. Ao invés de classes pesadas com dezenas de métodos (como controllers em frameworks MVC tradicionais), Go define o contrato mínimo necessário: receba uma requisição, escreva uma resposta. Essa abordagem composicional permite que handlers sejam combinados, encadeados e testados de forma independente — um padrão que escala desde scripts simples até sistemas distribuídos como os que rodam no Google.

Ler mais →