Go · Intermediário · Inglês · Técnico
ServeMux
Roteador padrão do net/http. Desde o Go 1.22 aceita padrões com método e curingas, como GET /itens/{id}, e o valor sai de r.PathValue.
Onde usar
Para APIs simples, dispensa framework de roteamento. Registra rotas com HandleFunc e passa o mux para http.ListenAndServe.
Em código
func item(w http.ResponseWriter,
r *http.Request) {
fmt.Fprintln(w, r.PathValue("id"))
}
// em main:
// mux := http.NewServeMux()
// mux.HandleFunc("GET /itens/{id}", item)Exemplos
We dropped the router library and used the standard ServeMux.
Abandonamos a biblioteca de rotas e usamos o ServeMux padrão.
Read the id with r.PathValue after matching the pattern.
Leia o id com r.PathValue depois de casar o padrão.
Cuidado
Os padrões com método e curinga só funcionam no Go 1.22 ou superior, conforme a versão declarada no go.mod.
Sinônimos
multiplexador de requisições
Origem
Mux é abreviação de multiplexer.