@requestBody 注解的使用
一、@requestBody 处理的数据类型
@requestBody 注解常用来处理 content-type 不是默认的 application/x-www-form-urlcoded 编码的内容,比如说:application/json 或者是 application/xml 等。一般情况下来说常用其来处理 application/json 类型。
二、@requestBody数据绑定及实例
通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。
如下情况
1、前端发送请求
$.ajax({
url:"/login",
type:"POST",
data:'{"userName":"admin","pwd","admin123"}',
content-type:"application/json charset=utf-8",
success:function(data){
alert("request success ! ");
}
});
2、数据绑定到变量
@requestMapping("/login")
public void login(@requestBody String userName,@requestBody String pwd){
System.out.println(userName+" :"+pwd);
}
也可以将 JSON 字符串直接增值给类,如一个 User 类,如下:
@requestMapping("/login")
public void login(@requestBody User user){
System.out.println(user.userName+" :" + user.pwd);
}