Spring JSON 請求返回406(不可接受)
當嘗試向Spring MVC 控制器發送JSON 請求時,一些用戶遇到“ 406 不可接受」錯誤。此問題源自於請求的內容類型(“application/json”)與控制器的回應能力不符。
在 Spring MVC 中,控制器方法以「@ResponseBody」註解表示傳回值應以 JSON 形式寫入 HTTP 回應正文。但是,如果沒有在應用程式上下文中註冊正確的 HTTPMessageConverter,Spring 將無法將回傳值轉換為請求的格式。
此錯誤的常見原因是應用程式中缺少 Jackson 庫類別路徑。 Jackson 函式庫提供了 HTTPMessageConverter 負責將 Java 物件轉換為 JSON,反之亦然。
要解決此問題,請按照下列步驟操作:
確保以下Jackson 庫包含在應用程式中classpath:
如果您使用Spring 3.0或更高版本,請將下列行新增至spring -servlet.xml 設定檔中以啟用註解驅動的MVC設定:
透過實現這些步驟,HTTPMessageConverter 將被註冊,Spring 將能夠按預期將控制器的返回值轉換為 JSON .
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3