目录
RequestMapping既可以修饰方法也可以修饰类,修饰类用来对请求分组
一、RequestMapping属性
示例:@RequestMapping(value = "testParamsAndHeaders", method = RequestMethod.POST, params = { "username","age!=10" }, headers = { "Accept-Language=en-US,zh;q=0.8" })
属性:
value 请求URL
method 请求方法
例:method = RequestMethod.POST
params 请求参数
headers 请求头映射条件
注:
——params 和 headers 支持 简单 达 式 •
param1: 请求必 包含名为 param1 请求参数 –
!param1: 请求不包含名 为 param1 请求参数 –
param1 != value1: 请求包含名为 param1 请求参数但其值不 为 value1
{“param1=value1”, “param2”}: 请求必 包含名为 param1 和param2 两个请求参数且 param1 参数 值必为 value1
二、Ant风格
(1)Ant风格资源地址支持 3 种匹配符
? 匹配文件名中一个字符
* 匹文件名中任意字符
** 匹配多层路径
(2) @RequestMapping 还支持 Ant 风格的 URL:
– /user/*/createUser 匹配/user/aaa/createUser、/user/bbb/createUser 等 URL
– /user/**/createUser 匹配/user/createUser、/user/aaa/bbb/createUser等URL
– /user/createUser?? 匹配/user/createUseraa、/user/createUserbb 等URL
三、@PathVariable
(1)映射 URL 绑定的占位符,带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义。
(2)通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable("xxx") 绑定到操作方法的入参中。
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id) {
System.out.println("testPathVariable: " + id);
return SUCCESS;
}