-
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 -
@RequestMapping属性
1、 value、method
value: 指定请求的实际地址,指定的地址可以是URI Template模式;method:指定请求的method类型:(HTTP协议规定)GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH等;
2、 consumes、produces
consumes:指定接收的处理请求的提交内容类型(Content-Type);produces: 指定返回的内容类型,仅当request请求头中包含该指定类型才返回, Content-Type:text/html; charset=UTF-8;
3、 params、headers
params: 指定request中必须包含某些参数值 。-
param:请求必须带上指定参数 例:
@RequestMapping(path="/hello",params = {"username=123"})
正确请求为:http://localhost:8070/springmvc_day01_01_start/haha/hello?username=123
-
!param:请求不可以带上某个参数 例:params = {"!username"}
-
param!=value:请求所带参数值不可以等于value 例:params = {“username!=123”}
-
{“param1”,"!param2",“param3!=value”} :请求必须满足集合中的多个参数规则
headers: 指定请求头,request中必须包含某些指定的header值。
-
-
@RequestMapping的模糊查询
?:替换一个字符,例: @RequestMapping("/hello?")
注意:0个和多个都不行 (模糊和精确情况下,精确匹配优先)
* :替换多个字符或者一层路径,例:@RequestMapping("/a/*/hello ")
** :替换多层路径,例:@RequestMapping("/a/**/hello")
- @RequestMapping 路径占位符@PathVariable 可以占一层路径
@RequestMapping(path="/hello/{id}")
public String MyPathRequest(@PathVariable("id") String id){
System.out.println(id+"入门成功");
return "success";
}