Avatar ·

如何在Go中设置HTTP头(CORS、Content-Type等)

大家好!我是一名Go新手开发者,正在用net/http编写我的第一个REST API。我遇到了一个问题:我的前端(React,运行在localhost:3000)由于CORS无法向服务器(localhost:8080)发送请求。 我尝试手动设置头,但似乎出了问题。这是我的代码: ```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) } ``` 问题在于,当我发送带有JSON体的POST请求时,浏览器仍然报CORS错误。我尝试在不同位置添加头——在写入响应之前和之后——但结果相同。我也读过关于middleware的内容,但不知道如何将其应用于所有路由。 请告诉我如何正确