ホームページ >Java >&#&チュートリアル >シームレスなデータ転送のために jQuery、Spring MVC の @RequestBody、および JSON を統合するにはどうすればよいですか?

シームレスなデータ転送のために jQuery、Spring MVC の @RequestBody、および JSON を統合するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-26 01:41:10643ブラウズ

How to Integrate jQuery, Spring MVC's @RequestBody, and JSON for Seamless Data Transfer?

JQuery、Spring MVC @RequestBody、および JSON を連携させる

バックグラウンド

JSON JQuery などのクライアント側アプリケーションとサーバー側の間でデータを転送するために広く使用されている軽量のデータ形式です。 Spring MVC のようなフレームワーク。 Spring MVC の @RequestBody を使用すると、JSON データを Java オブジェクトに自動的にマッピングできます。これは、JSON データをアプリケーションで処理できる Bean に逆シリアル化する場合に役立ちます。

問題

Java オブジェクトを JSON にシリアル化するようにアプリケーションが正常に構成されました。 (@ResponseBody) しかし、JSON データを Java オブジェクトに逆シリアル化して戻すことはできません(@RequestBody).

解決策

@RequestBody を正しく機能させるには、JSON メッセージ変換をサポートするように Spring MVC を構成する必要があります。これを行うには、次の依存関係を pom.xml に追加します。

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.4.2</version>
</dependency>

次に、Spring MVC 構成に MappingJacksonHttpMessageConverter を登録する必要があります。 Java では、これは @EnableWebMvc で実行できます:

@EnableWebMvc
public class WebConfig {}

または XML では、これを web.xml に追加できます:

<mvc:annotation-driven />

使用例

これは、JSON を受け入れて Java にマップするリクエスト メソッドを設定する方法を示す例です。 method:

@RequestMapping(method = RequestMethod.POST, value = "math")
@ResponseBody
public Result math(@RequestBody final Request request) {
    final Result result = new Result();
    result.setAddition(request.getLeft() + request.getRight());
    result.setSubtraction(request.getLeft() - request.getRight());
    result.setMultiplication(request.getLeft() * request.getRight());
    return result;
}

この例では、left と right の 2 つのプロパティを含む Request タイプを予期する数学エンドポイントがあります。エンドポイントは、左右のプロパティの加算、減算、乗算の結果を含む Result タイプを返します。

テスト

JSON データを含む POST リクエストを数学エンドポイントに送信することでアプリケーションを実行します。応答は、Result タイプの JSON 表現である必要があります。

以上がシームレスなデータ転送のために jQuery、Spring MVC の @RequestBody、および JSON を統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。