【发布时间】:2015-11-27 08:12:25
【问题描述】:
已向before 提出此问题,但该答案适用于 python 应用程序。我想知道如何解决 Go 应用程序的问题。
我在 Google App Engine 上部署了一项网络服务,供移动客户端使用。使用下面的函数,我以 XML 或 JSON 的形式发送响应(根据客户端的请求)
func (api *API) Respond(w http.ResponseWriter, r *http.Request, body interface{}, status int) {
var contentType string
var content []byte
var err error
if r.Header.Get("Accept") == "application/xml" {
contentType = "application/xml; charset=UTF-8"
content, err = xml.Marshal(body)
} else {
contentType = "application/json; charset=UTF-8"
content, err = json.MarshalIndent(body, "", " ")
}
if err != nil {
panic(err)
}
w.WriteHeader(status)
w.Header().Set("Content-Type", contentType)
w.Write(content)
}
但是,在任何一种情况下,客户端设备都会收到 text/html 的 Content-Type。我怎样才能解决这个问题?这是我的应用程序的 app.yam 文件:
application: wks-api
version: 3
runtime: go
api_version: go1
handlers:
- url: /.*
script: api
【问题讨论】:
标签: google-app-engine go