Maison > Java > javaDidacticiel > Comment intégrer JQuery, @RequestBody de Spring MVC et JSON pour la sérialisation bidirectionnelle ?

Comment intégrer JQuery, @RequestBody de Spring MVC et JSON pour la sérialisation bidirectionnelle ?

Barbara Streisand
Libérer: 2024-12-05 20:32:10
original
633 Les gens l'ont consulté

How to Integrate JQuery, Spring MVC's @RequestBody, and JSON for Bidirectional Serialization?

JQuery, Spring MVC @RequestBody et JSON – Les faire fonctionner ensemble

Bien que la sérialisation des objets Java en JSON pour la consommation JQuery puisse être simple, le chemin inverse : l'analyse JSON et sa conversion en objets Java peuvent poser des problèmes. Cet article vous guidera à travers les étapes nécessaires pour faire de cette sérialisation bidirectionnelle une réalité.

Le problème : JSON vers Java en utilisant @RequestBody

Pour désérialiser JSON en un objet Java à l'aide de Spring MVC @RequestBody , il est indispensable d'enregistrer le MappingJacksonHttpMessageConverter. Bien que cela puisse être fait manuellement, la méthode la plus simple consiste à utiliser en XML ou @EnableWebMvc en Java.

Un exemple fonctionnel

Considérez l'exemple suivant, qui présente une solution complète pour la sérialisation JSON bidirectionnelle :

Maven POM

<!-- Spring MVC -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.0.5.RELEASE</version>
</dependency>
<!-- Jackson -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.4.2</version>
</dependency>
Copier après la connexion

Mappage des servlets

<servlet-mapping>
    <servlet-name>json</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

#### Spring Bean Configuration
Copier après la connexion

<import resource="classpath:mvc-context.xml" />
Copier après la connexion

#### `mvc-context.xml`
Copier après la connexion

<mvc:annotation-driven />
<context:component-scan base-package="test.json" />
Copier après la connexion

#### Controller
Copier après la connexion

@Controller
@RequestMapping("/test")
classe publique TestController {

@RequestMapping(method = RequestMethod.POST, value = "math")
@ResponseBody
public Result math(@RequestBody final Request request) {...}
Copier après la connexion

}

#### Domain Objects
Copier après la connexion

Demande de cours public {

// ... fields and getters/setters ...
Copier après la connexion
Copier après la connexion

}

Résultat du cours public {

// ... fields and getters/setters ...
Copier après la connexion
Copier après la connexion

}

#### Testing the Setup

Using the Poster Firefox plugin, send a POST request to the following URL:
Copier après la connexion

URL : http://localhost:8080/test/math
type MIME : application/json
corps du message : { "gauche": 13 , "droite" : 7 }

#### Expected Response
Copier après la connexion

{" addition":20,"soustraction":6,"multiplication":91}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal