之前已经问过这个问题,但该答案适用于 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)
}
然而,在任何一种情况下,客户端设备都会收到一个 Content-Type text/html。我怎样才能解决这个问题?这是我的应用程序的 app.yam 文件:
application: wks-api
version: 3
runtime: go
api_version: go1
handlers:
- url: /.*
script: api
拉莫斯之舞
holdtom
相关分类