Maison > Java > javaDidacticiel > Comment transférer des données JSON de manière bidirectionnelle avec Spring MVC et jQuery ?

Comment transférer des données JSON de manière bidirectionnelle avec Spring MVC et jQuery ?

Patricia Arquette
Libérer: 2024-11-21 00:44:18
original
1064 Les gens l'ont consulté

How to Bidirectionally Transfer JSON Data with Spring MVC and jQuery?

S'attaquer au transfert de données bidirectionnel avec JQuery, Spring MVC et JSON

Malgré le succès du transfert de données Java vers JSON à l'aide de @ResponseBody, la mise en œuvre de son chemin inverse a été insaisissable. Cet article examine la solution permettant de sérialiser à nouveau JSON dans un objet Java à l'aide de @RequestBody.

Conditions préalables au succès

Pour garantir une expérience transparente, assurez-vous de ce qui suit :

  • Configuration appropriée de Jackson : Vérifiez que MappingJacksonHttpMessageConverter est enregistré, généralement obtenu via en XML ou @EnableWebMvc en Java.

Un exemple complet

Pour illustrer la solution, considérons l'exemple ci-dessous :

web.xml :

<servlet>
  <servlet-name>json</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>json</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>
Copier après la connexion

json-servlet.xml :

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

mvc-context.xml :

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

TestController (classe de contrôleur) :

@Controller
@RequestMapping("/test")
public class TestController {

  @RequestMapping(method = RequestMethod.POST, value = "math")
  @ResponseBody
  public Result math(@RequestBody final Request request) {
    ...
  }

}
Copier après la connexion

Requête (POJO pour les requêtes POST) :

public class Request {
  private int left;
  private int right;
  ...
}
Copier après la connexion

Résultat (POJO pour les réponses sérialisées) :

public class Result {
  private int addition;
  private int subtraction;
  private int multiplication;
  ...
}
Copier après la connexion

Test de la solution

Exécutez la commande mvn jetty:run et envoyez la requête POST suivante :

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

La réponse que vous devriez recevoir :

{"addition":20,"subtraction":6,"multiplication":91}
Copier après la connexion

Ceci démontre le transfert de données bidirectionnel entre JSON et Java à l'aide de @RequestBody.

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!

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