首页  >  文章  >  后端开发  >  为什么我的 Go HTTP 服务器返回内容类型为“text/plain”的空响应?

为什么我的 Go HTTP 服务器返回内容类型为“text/plain”的空响应?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 16:45:30537浏览

Why Does My Go HTTP Server Return Empty Responses with

解决 Go 中的 JSON 响应问题:综合指南

在本文中,我们将深入研究在 Go 中创建 JSON 响应时遇到的问题去探索解决方案。

问题声明:

开发人员在构建简单的 HTTP 服务器和处理 JSON 响应时遇到问题。尽管使用与在线找到的示例类似的代码,但还是返回了内容类型为“text/plain”的空响应。

分析:

仔细比较开发人员的代码和工作示例揭示了一个微妙的差异:响应主体结构中的变量在开发人员的代码中没有大写。这会阻碍 JSON 编组过程,因为 Go 需要导出结构体字段名称(大写)才能序列化为 JSON。

解决方案:

解决此问题问题,ResponseCommands结构中的变量必须大写,如下所示:

<code class="go">type ResponseCommands struct {
    Key   string
    Value bool
}</code>

有了这个修改后,Go 将正确识别结构体字段并将其序列化为 JSON。生成的响应现在将包含预期的 JSON 数据,并且内容类型标头将正确设置为“application/json”。

以上是为什么我的 Go HTTP 服务器返回内容类型为“text/plain”的空响应?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn