發送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中文網其他相關文章!