@RequestMapping(“/”)
1.如果只写路径名的话就直接在括号里面写
2.如果需要指定GET或者POST请求的话就需要像下面这样:
@RequestMapping(value=”“,method=XXX.XXX.GET或者POST)
3.除了value,method我们还可以设置headers
@RequestParam
这个主要指的是?后面的参数,一般可以指定required属性
@PathVariable
主要是URL上面的,一般都是REST风格的URL里面
例如:
/admin/{id} 这样的话我们可以在参数里面获取到这个具体值
@ResponseBody
添加这个注解之后返回到前端时会自动转成json格式,但需要导入特定的jar包
@RequestBody
@RequestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。
2、
通过@RequestBody可以将请求体中的JSON字符串绑定到相应的bean上,当然,也可以将其分别绑定到对应的字符串上。
例如说以下情况:
$.ajax({
url:”/login”,
type:”POST”,
data:’{“userName”:”admin”,”pwd”,”admin123”}’,
content-type:”application/json charset=utf-8”,
success:function(data){
alert(“request success ! “);
}
});
@requestMapping(“/login”)
public void login(@RequestBody String userName,@RequestBody String pwd){
System.out.println(userName+” :”+pwd);
}
这种情况是将JSON字符串中的两个变量的值分别赋予了两个字符串,但是呢假如我有一个User类,拥有如下字段:
String userName;
String pwd;
那么上述参数可以改为以下形式:@requestBody User user 这种形式会将JSON字符串中的值赋予user中对应的属性上
需要注意的是,JSON字符串中的key必须对应user中的属性名,否则是请求不过去的。
3、
在一些特殊情况@requestBody也可以用来处理content-type类型为application/x-www-form-urlcoded的内容,只不过这种方式
不是很常用,在处理这类请求的时候,@RequestBody会将处理结果放到一个MultiValueMap