1.value
value是@RequestMapping中必须携带的参数,表示地址请求映射的路径
@Controller
@RequestMapping("user") //此处如果不省略,则为@RequestMapping(value="user")
public class UserController {
@RequestMapping("getUser")
@ResponseBody
public ModelAndView getUser() {
ModelAndView view = new ModelAndView();
return view;
}
}
此时如果访问路径时,其中必须包含“user”这样的路径
2.method
表示所支持的http的请求方式,包括get、post、delete、put等,其中最常用的是get和post的方法。
(1)get:请求能够携带的参数比较少,大小有限制,会在浏览器中显示数据内容,不安全,但高校
(2)post:请求能够携带的参数没有限制,会在浏览器中显示数据内容,安全,但不高效。
(3)注意:method属性不是必选值,默认值是接收所有类型的http请求
@RequestMapping(value = "getUser",method = RequestMethod.GET)
@ResponseBody
public ModelAndView getUser(){
ModelAndView view = new ModelAndView();
return view;
}
3.params
该属性指定,请求中必须包含params属性规定的参数时,才能执行该请求
例如:
@RequestMapping(value="/path",params={"username"}) //表示传递过来的请求中必须携带username
参数
public String path(){
return "path"
}
如果没有对应的参数传递,则会报400错误:
4.header
该属性指定,请求中必须包含某些指定的header值,才能够让该方法处理请求
一般默认情况下,如果是来自我们自己主机上的请求的话,默认header是localhost:8080
例子:
@RequestMapping(value = "getUser",headers = "Referer=http://www.xxx.com")
@ResponseBody
public ModelAndView getUser(){
ModelAndView view = new ModelAndView();
return view;
}
表示必须满足请求的header中包含了指定的"Referer"请求头和值为"http://www.xxx.com"时,才能执行该请求
如果没有对应的键值,则会报404错误,表示找不到相应资源。