1.value和path
两个效果是一样的,都用于指定请求的URL。
可以作用在方法和类上,作用在类上就是一级路径。
@Controller
@RequestMapping("/anno")
@SessionAttributes(value={"msg"})
public class AnnoController {
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(name="name") String username){
System.out.println("执行了...");
System.out.println(username);
return "success";
}
所以这个方法url是/anno/testRequestParam
2.method
用于指定请求的方法
@RequestMapping(value ="/testRequestParam",method = RequestMethod.GET)
public String testRequestParam(@RequestParam(name="name") String username){
System.out.println("执行了...");
System.out.println(username);
return "success";
}
只能用GET方法请求
public enum RequestMethod {
GET,
HEAD,
POST,
PUT,
PATCH,
DELETE,
OPTIONS,
TRACE;
private RequestMethod() {
}
}
RequestMethod是枚举类,所以用RequestMethod.方法的格式使用
3.params
用于定限制请求参数的条件
String[] params() default {};
所以是数组形式
@RequestMapping(value ="/testRequestParam",params = {"name"})
public String testRequestParam(@RequestParam(name="name") String username){
System.out.println("执行了...");
System.out.println(username);
return "success";
}
如上,需要请求参数中有name
<a href="anno/testRequestParam?name=username">RequestParam</a>
如上,超链接的请求中加?name,值任意
@RequestMapping(value ="/testRequestParam",params = {"name=username"})
public String testRequestParam(@RequestParam(name="name") String username){
System.out.println("执行了...");
System.out.println(username);
return "success";
}
如上,需要请求参数中有name,且值为username
<a href="anno/testRequestParam?name=username">RequestParam</a>
如上,值要对应。
4.headers
用于指定限制请求信息的头的条件
String[] headers() default {};
所以是数组形式
@RequestMapping(value ="/testRequestParam",headers = {"Accept"})
public String testRequestParam(@RequestParam(name="name") String username){
System.out.println("执行了...");
System.out.println(username);
return "success";
}
如上需要Accept,可以通过F12进行查看