go - 从 DB golang 查询后收到 304 代码

标签 go http-status-code-304

我现在正在尝试实现一个 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/

相关文章:

arrays - 如何在 Go 中使用带有 for 循环的列表

for-loop - Go 无法识别在 'for' 循环中使用变量

google-app-engine - Appengine 数据存储区超时错误 5 和 11 之间有什么区别?

php - 使用 AJAX 和 PHP 进行 mysql UPDATE 在两种相同情况之一中不起作用

django - 如何在 Django 测试服务器中防止 HTTP 304

go - APM Go 代理未向 APM 服务器发送数据

mongodb - 如何在golang中连接mongodb 3.0

ios - 如何在不与服务器通信的情况下阻止 WKWebView 中的 304 请求加载缓存图像?

javascript - 避免向服务器发出条件请求

Django - http 代码 304,如何在测试服务器中解决?