MVCを使用したSpring 3 JSON
-
05-07-2019 - |
質問
application / json
形式の要求と応答をそれぞれ消費および生成する Spring Web 呼び出しを作成する方法はありますか?
これは Spring MVC ではないかもしれませんが、わかりません。 Jersey / JSON と同様の動作をするSpringライブラリを探しています。最良のケースは、それらを JSON サービス呼び出しに変換するコントローラークラスに追加できる注釈がある場合です。
JSONを使用して Spring Web Services を構築する方法を示すチュートリアルは素晴らしいでしょう。
編集:注釈ベースのアプローチを探しています(ジャージーに似ています)。
EDIT2: Jerseyと同様に、RESTサポート(POST、GET、DELETE、PUT)を探しています。
EDIT3:最も望ましいのは、これが pom.xml
エントリであり、spring-jsをjackson Springネイティブバージョンで使用する場合の情報です。
解決
他の人が後でここに来る場合: http://blog.springsource.com/ 2010/01/25 / ajax-simplifications-in-spring-3-0 / 私にとって最も便利なリンクでした。それでようやくモデルを理解できるようになりました(検索から1日も経たないうちに)。
他のヒント
確かに、JSON出力にあるビューを返すコントローラーを持つことができます。 Spring-JSONプロジェクトをご覧ください。
JSONでリクエストを消費するには、コントローラーがリクエストパラメーターをJSONライブラリに渡し、データを解析できるようにするだけだと思いますか?
Jersey-Spring APIなので、車輪を再発明する理由は本当にありません。
spring-mvc 3.0は、JSONによるAjaxリモーティングの公式サポートがSpring MVCの一部として提供されているため。これには、Spring MVC @Controllerプログラミングモデルを使用したJSON応答の生成とJSON要求のバインドのサポートが含まれます。
こちらをご覧ください。
この機能は、バージョン3.0以降のSpringの一部になりました。 @ResponseBodyアノテーションを使用して、リクエストハンドラーメソッドからの戻り値をJSONにシリアル化し、応答本文として送信することを指定できます。 http://blog.springsource.comをご覧ください。 / 2010/01/25 / ajax-simplifications-in-spring-3-0 /
DWR フレームワークは、目的に非常に近いようです取得します。
ハンドラマッピングを使用し、マッピングを使用して、返されるデータをJSONに変換します。ハンドラーの構成はxmlで行うことができ(再コンパイルする必要はありません)、これはアプリケーションの他の部分に対して完全に透過的です。
コントローラに注釈を付けて、BeanFactoryブートストラッププロセスをフックして、ハンドラマッピングプロセス内でコントローラを登録するのはかなり簡単です。
このアプローチを使用して、スプリングコントローラーからの結果をGWT RPC呼び出しに変換しました。
Spring AOPを使用して、コントローラーメソッド呼び出しをインターセプトし、JSONから/ JSONへの要求をアンラップ/ラップすることもできます。