SpringMVC @RequestBody接收Json对象字符串 demo
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字符串化.

浙公网安备 33010602011771号