Cet article présente la méthode par laquelle Spring MVC reçoit des données JSON à travers des exemples de code. Les détails spécifiques sont les suivants :
Recevoir JSON
L'utilisation de l'annotation @RequestBody sur le frontend vous oblige uniquement à soumettre un JSON formaté au contrôleur, et Spring l'assemblera automatiquement dans un bean.
1) Sur la base de l'utilisation de la première méthode pour renvoyer JSON dans le projet ci-dessus, ajoutez la méthode suivante :
Code Java
@RequestMapping(value="/add",method=RequestMethod.POST, headers = {"content-type=application/json","content-type=application/xml"}) @ResponseBody public Object addUser(@RequestBody User user) { System.out.println(user.getName() + " " + user.getAge()); return new HashMap<String, String>().put("success", "true"); }
Le POJO ici est le suivant :
Code Java
public class User { private String name; private String age; //getter setter }
2) Dans le frontend, nous pouvons utiliser jQuery pour traiter JSON. À partir de là, j'ai obtenu un plug-in jQuery qui peut renvoyer les données d'un formulaire dans un objet JSON :
Code Js
$.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each(a, function(){ if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
Voici le code pour recevoir et envoyer du JSON à l'aide de jQuery :
Code Js
$(document).ready(function(){ jQuery.ajax({ type: 'GET', contentType: 'application/json', url: 'jsonfeed.do', dataType: 'json', success: function(data){ if (data && data.status == "0") { $.each(data.data, function(i, item){ $('#info').append("姓名:" + item.name +",年龄:" +item.age); }); } }, error: function(){ alert("error") } }); $("#submit").click(function(){ var jsonuserinfo = $.toJSON($('#form').serializeObject()); jQuery.ajax({ type: 'POST', contentType: 'application/json', url: 'add.do', data: jsonuserinfo, dataType: 'json', success: function(data){ alert("新增成功!"); }, error: function(){ alert("error") } }); }); });
Mais il semble que l'utilisation de Spring soit vraiment une chose gênante par rapport à l'implémentation de RESTful à Jersey, il y a en effet beaucoup de choses qui ne sont pas concises.
Ce qui précède contient les informations pertinentes sur Spring mvc recevant des données json partagées dans cet article. J'espère que vous l'aimerez.