【发布时间】:2017-01-09 10:53:27
【问题描述】:
我正在尝试为this issue 提供修复,并尝试了类似于this 的方法,但是无论我尝试设置什么标头,我都没有在我尝试修改的http 响应中看到它.
This 是我要更改的方法,这是我尝试添加的行:
w.Header().Set("Content-Type", "application/json").
完整方法:
func (s *HTTPServer) getServices(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(s.list.GetAllServices()); err != nil {
log.Println("Error encoding: ", err)
http.Error(w, err.Error(), http.StatusInternalServerError)
}
}
我希望标题会改变,但它总是text/plain; charset=utf-8
免责声明:这是我在 Go 中编写(或者更确切地说是复制/粘贴/改编)的第一段代码。
【问题讨论】:
-
显示请求处理程序的代码以及您添加调用以设置标头的位置。
-
我只是想:)
-
ResponseWriter 在到达这个函数之前是否在其他任何地方修改过?
-
乍一看似乎是正确的。您确定要测试更新的代码吗?
-
耶!它终于奏效了!感谢
w.WriteHeader(http.StatusOK)aacebedo 让我补充。如果您愿意,您可以通过回答来轻松获得互联网积分:)
标签: go