发送 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中文网其他相关文章!