springmvc 的这个 @RequestBody 用得比较少,今天看了一下,还是很方便.
@RequestBody 接收类似 [{name: "test"}, {name: "张三"}] 这样的json字符串.
先看页面:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> <script type="text/javascript"> function test(){ var saveDataAry=[]; var data1={"name":"test"}; var data2={"name":"张三"}; saveDataAry.push(data1); saveDataAry.push(data2); $.ajax({ type:"POST", url:"http://localhost/test/student", dataType:"json", contentType:"application/json", data:JSON.stringify(saveDataAry), success:function(data){ alert(data) } }); } </script> </head> <body> <input type="button" onclick="test()" value="测试"> </body> </html>
最后看后台代码:
import java.util.List; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/test") public class TestController { @ResponseBody @RequestMapping(value="/student",method=RequestMethod.POST) public String student(@RequestBody List<Student> students ){ for(Student s : students){ System.out.println("学生姓名:"+s.getName()); } return "ok"; } } class Student{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
小结一下,这样传参数就是json字符串化.
时间: 2024-10-16 15:03:22