In diesem Artikel wird die Methode zum Empfangen von JSON-Daten durch Spring MVC anhand von Codebeispielen vorgestellt. Die spezifischen Details lauten wie folgt:
JSON empfangen
Wenn Sie die Annotation @RequestBody im Frontend verwenden, müssen Sie lediglich ein formatiertes JSON an den Controller senden, und Spring fügt es automatisch zu einer Bean zusammen.
1) Fügen Sie basierend auf der Verwendung der ersten Methode zur Rückgabe von JSON im obigen Projekt die folgende Methode hinzu:
Java-Code
@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"); }
Das POJO hier lautet wie folgt:
Java-Code
public class User { private String name; private String age; //getter setter }
2) Im Frontend können wir jQuery verwenden, um JSON zu verarbeiten. Von hier aus habe ich ein jQuery-Plug-in erhalten, das die Daten eines Formulars in ein JSON-Objekt zurückgeben kann:
Js-Code
$.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; };
Das Folgende ist der Code zum Empfangen und Senden von JSON mit jQuery:
Js-Code
$(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") } }); }); });
Aber es scheint, dass die Verwendung von Spring wirklich eine mühsame Sache ist. Im Vergleich zur Jersey-Implementierung von RESTful gibt es tatsächlich viele Dinge, die nicht prägnant sind.
Das Obige sind die relevanten Informationen zum Empfang von JSON-Daten durch Spring MVC, die in diesem Artikel geteilt werden.