最近频繁用到一个注解:@requestBody,网上搜了一些资料,稍微总结一下这个注解的最基础最普遍的用法。
首先:
@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,一般情况下常用来处理application/json类型数据。
其次:
通过@requestBody可以将请求体中的JSON字符串绑定到bean上,当然也可以将其分别绑定到对应的字符串上。例如:
$.ajax({
url:”login”,
type:”POST”,
data:’{“userName”:”admin”,”pwd”:”admin”}’,
content-type:”application/jsoncharset=utf-8”,
success:function(data){
alert(“requestsuccess!”);
}
});
@requestMapping(“/login”)
Public void login(@requestBody String username,@requestBodyString pwd){
System.out.printlln{username+”:” pwd};
}
这种情况是将json字符串中的两个变量的值分别赋予了两个字符串,但是呐假如我们有一个实体类User,拥有如下字段:Stirng username;Sting pwd;
那么上述参数可以改为一下形式:@requestBody User user,这种形式会将JSON字符串中的值赋予user对象中对应的属性值上,但是需要注意的是:JSON字符串中的key必须对应user对象中的属性名称,否则请求是过不去的!