Fala Vicente! o problema no seu código está relacionado à forma como as rotas estão sendo configuradas e tratadas no seu servidor Go. Com base na descrição que você deu, tudo indica que você está registrando o handler Home
como handler genérico para todas as rotas — ou seja, qualquer path que você acessar vai cair na função Home
, e por isso sempre aparece "Home Page", mesmo acessando /api/personalidades
.
Provável causa
Você provavelmente está usando algo como:
http.HandleFunc("/", Home)
E não está definindo corretamente o handler para /api/personalidades
, ou ainda está usando HandleFunc("/", Home)
antes de outras rotas específicas — e isso pega tudo como se fosse um "coringa".
Você precisa registrar as rotas específicas antes da rota raiz ("/"
), ou usar um ServeMux
personalizado para lidar melhor com isso. Exemplo corrigido:
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/api/personalidades", TodasPersonalidades)
mux.HandleFunc("/", Home)
fmt.Println("Servidor rodando na porta 8000")
log.Fatal(http.ListenAndServe(":8000", mux))
}
Isso garante que /api/personalidades
seja tratado corretamente pela função TodasPersonalidades
, e só o /
vá para Home
.
Já que você está começando com Go, algumas dicas pra debugar:
- Prints são seus amigos: Use
fmt.Println()
para ver o que está acontecendo dentro das funções. - Logs: Use
log.Printf()
com mensagens mais descritivas. - Delve Debugger: É o depurador oficial do Go. Se estiver usando VS Code, instale a extensão Go e você consegue debugar com breakpoints.
- Testes isolados: Crie funções pequenas e vá testando aos poucos.