登录
首页 >  Golang >  Go问答

响应可以为空时是否可以返回 204 状态码

来源:stackoverflow

时间:2024-02-28 22:09:24 168浏览 收藏

本篇文章向大家介绍《响应可以为空时是否可以返回 204 状态码》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我正在使用http模块。前端开发团队询问我当没有结果时,发送带有空列表和状态代码 204 的响应。我尝试了以下操作:

allposts  := logic.mergedsearchsearchpost(params)

if len(allposts.posts) == 0 {
    w.writeheader(http.statusnocontent)
    json.newencoder(w).encode(allposts)
}

在本例中,allposts 是这样的:

{
    "total": 0,
    "is_finished": true,
    "query_id": "c2x86XSZaU",
    "posts": null
}

问题是我将状态代码设置为 204 后无法发送任何内容。因此响应为空。我想发送上面的 allposts 并带有 204 状态代码。有什么办法吗?


解决方案


前端开发团队在没有结果时询问我, 发送带有空列表和状态代码 204 的响应

这两个是互相矛盾的。空列表是一些内容。 这直接违反了HTTP standard

204 响应由标头后的第一个空行终止 字段,因为它不能包含消息正文。

Go HTTP 库不允许你这样做。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>