首页 > Java > java教程 > 为什么从'Content-Type”中删除'charset=utf8”可以修复发送 JSON 请求时的 HTTP 415'不支持的媒体类型”错误?

为什么从'Content-Type”中删除'charset=utf8”可以修复发送 JSON 请求时的 HTTP 415'不支持的媒体类型”错误?

Susan Sarandon
发布: 2024-11-03 04:05:03
原创
320 人浏览过

Why Does Removing

发送 JSON 请求时出现 HTTP 415 不支持的媒体类型错误

尝试使用 JSON 请求执行 REST 服务时,用户遇到了HTTP 415“不支持的媒体类型”错误。尽管将请求内容类型设置为“application/json; charset=utf8”,但它仅在请求中不包含 JSON 对象时才有效。

使用 google-gson-2.2.4 库并尝试不同的JSON 库被证明无效。

以下代码片段说明了实现:

<code class="java">// Code snippet removed for brevity</code>
登录后复制

检查 requestJson.toString() 的值,它表示 JSON 正文:

<code class="json">{"type":"arl","action":"remove","domain":"staging","objects":"http://www.example.com"}</code>
登录后复制

解决方案:

奇怪的是,从“Content-Type”请求属性中删除“charset=utf8”(“Content-Type”,“application/json; charset=utf8” )奇迹般地解决了这个问题。

<code class="java">// Removed "charset=utf8" from "Content-Type"
con.setRequestProperty("Content-Type", "application/json");
// Code snippet continues removed for brevity</code>
登录后复制

这种改变的确切原因仍然未知,但它有效地允许 JSON 请求成功发送和处理。

以上是为什么从'Content-Type”中删除'charset=utf8”可以修复发送 JSON 请求时的 HTTP 415'不支持的媒体类型”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板