web-dev-qa-db-ja.com

MVCを使用したSpring 3 JSON

それぞれapplication/json形式の要求と応答を消費および生成するSpring Web呼び出しを構築する方法はありますか?

たぶんこれはSpring MVCではないかもしれません。 Jersey/JSONと同様の動作をするSpringライブラリを探しています。最良のケースは、[〜#〜] json [〜#〜]サービス呼び出しに変換するコントローラークラスに追加できる注釈がある場合です。

JSONを使用してSpring Web Servicesを構築する方法を示すチュートリアルは素晴らしいでしょう。


編集:注釈ベースのアプローチを探しています(ジャージーに似ています)。

EDIT2: Jerseyと同様に、REST support(POST、GET、DELETE、PUT)を探しています。

EDIT3:最も望ましいのは、これはpom.xmlエントリと、Jackson Springネイティブ版でのspring-jsの使用に関する情報です。

29
stevedbrown

他の人が後でここに来る場合: http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/ は私にとって最も有用なリンクでした。それでようやくモデルを理解できました(1日もたたないうちに検索しました)。

31
Johan

確かに、JSON出力にあるビューを返すコントローラーを持つことができます。 Spring-JSONプロジェクト をご覧ください。

JSONでリクエストを消費するには、コントローラーがリクエストパラメーターをJSONライブラリに渡し、データを解析できるようにするだけだと思いますか?

17
matt b

Jerseyが Jersey-Spring APIを介してSpringとうまく統合されているため、事前にパッケージ化された方法はありません。

4
non sequitor
3
jitter

Spring-mvc 3.0以降、JSONによるAjaxリモーティングの公式サポートがSpring MVCの一部として提供されます。これには、Spring MVC @Controllerプログラミングモデルを使用したJSON応答の生成とJSON要求のバインドのサポートが含まれます。

こちら をご覧ください

2
Paul Whelan

バージョン3.0以降、この機能はSpringの一部になりました。 @ResponseBodyアノテーションを使用して、リクエストハンドラーメソッドからの戻り値をJSONにシリアル化し、応答本文として送信することを指定できます。 http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/ を参照してください

2
Patrick Salami

[〜#〜] dwr [〜#〜] フレームワークは、取得したいものに非常に近いように見えます。

0
denis.zhdanov

handler mappings を介してSpring MVCインターセプターを構成し、マッピングを使用して、返されるデータをJSONに変換できます。ハンドラーの構成はxmlで行うことができ(再コンパイルする必要はありません)、これはアプリケーションの他の部分に対して完全に透過的です。

コントローラに注釈を付けて、BeanFactory bootstrapプロセスをフックして、いくつかのハンドラマッピングプロセス内にコントローラを登録するのはかなり簡単です。

このアプローチを使用して、スプリングコントローラーからの結果をGWT RPC呼び出しに変換しました。

また、Spring AOPを使用して、コントローラーメソッド呼び出しをインターセプトし、JSONとの間でリクエストをラップ/ラップ解除することもできます。

0
Miguel Ping