Spring JSON リクエストが 406 を返す (受け入れられません)
JSON リクエストを Spring MVC コントローラーに送信しようとすると、一部のユーザーが「406 受け入れられません」エラー。この問題は、要求されたコンテンツ タイプ (「application/json」) とコントローラーの応答機能の間の不一致が原因で発生します。
Spring MVC では、コントローラー メソッドには、戻り値は HTTP 応答本文に JSON として書き込まれる必要があります。ただし、適切な HTTPMessageConverter がアプリケーション コンテキストに登録されていない場合、Spring は戻り値を要求された形式に変換できません。
このエラーの一般的な原因は、アプリケーションに Jackson ライブラリが存在しないことです。クラスパス。 Jackson ライブラリは、Java オブジェクトと JSON 間の変換を行う HTTPMessageConverter を提供します。
問題を解決するには、次の手順に従ってください。
次の Jackson ライブラリがアプリケーションのクラスパスに含まれています:
Spring 3.0 以降を使用している場合は、次の行を spring-servlet.xml 構成ファイルに追加して、アノテーション駆動型 MVC 構成を有効にします:
<code class="xml"><mvc:annotation-driven /></code>
これらの手順を実装すると、HTTPMessageConverter が登録され、Spring はコントローラーの戻り値を期待どおりに JSON に変換できるようになります。 .
以上がSpring MVC コントローラーに JSON リクエストを送信すると 406 (Not Acceptable) エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。