我现在正在尝试实现一个 API,第一步是创建一个 session ,然后使用 get 请求查询这个 session 。有时我会收到 304 Not Modified – 结果自上次投票后未修改 的响应代码,这对我来说似乎是随机的。在这种情况下,我无法将响应保存到 Golang 结构中。这是非常令人沮丧的。你有什么见解可能是什么问题?谢谢!
client := &http.Client{Timeout: 10 * time.Second}
req, err := http.NewRequest("GET", url, nil)
q := req.URL.Query()
q.Add("apiKey", apiKey)
q.Add("sortorder", "asc")
req.URL.RawQuery = q.Encode()
if err != nil {
panic(err)
}
req.Header.Set("ACCEPT", "application/json")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
if resp.StatusCode == 200{
if err != nil {
panic(err)
}
}else{
fmt.Println(resp.StatusCode)
}
data, err := ioutil.ReadAll(resp.Body)
return []byte(data)
最佳答案
也在实现服务器吗?还是只是一个客户?你控制服务器吗?如果你不这样做,那么你可能不得不处理 304 not modified。如果服务器告诉您资源未被修改就更好了,因为您可以缩短某些处理。
关于go - 从 DB golang 查询后收到 304 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41317413/