Avatar ·

Como definir cabeçalhos HTTP em Go (CORS, Content-Type e outros)

Olá a todos! Sou um desenvolvedor Go iniciante e estou escrevendo minha primeira API REST com net/http. Encontrei um problema: meu frontend (React, rodando em localhost:3000) não consegue enviar requisições para o servidor (localhost:8080) por causa do CORS. Estou tentando definir os cabeçalhos manualmente, mas algo está dando errado. Aqui está meu código: ```go package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Content-Type", "application/json") fmt.Fprintf(w, `{"message": "Hello"}`) } func main() { http.HandleFunc("/api", handler) http.ListenAndServe(":8080", nil) } ``` O problema é que quando faço uma requisição POST com corpo JSON, o navegador ainda exibe um erro de CORS. Tentei adicionar os cabeçalhos em lugares diferentes — antes e depois de escrever a resposta — mas o resultado é o mesmo. Também li sobre middleware, mas não entendo como aplicá-los a todas as rotas de uma vez. Alguém pode me dizer como fazer isso corretamente?