1作用:用户建立请求URL和处理请求方法之间的对应关系
2位置
1)类上:请求url的第一级访问目录,此处不写的话,就相当于应用的根目录,写的话需要以/开头
@Controller
@RequestMapping(path="/user")
public class HelloController {
}
2)方法上:请求url的第二级访问目录(例子中的方法访问url为"项目根目录/user/hello")
@Controller
@RequestMapping(path="/user")
public class HelloController {
@RequestMapping(path="/hello")
public void sayHello(){
}
}
3.属性
1)value:用于指定请求的url,他和path属性的作用是一样的,当只有value(path)一个属性时,该属性可以省略
2)method:用于指定请求的方式(GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE),若不配置此属性,则可以用任何请求方法访问
@Controller
@RequestMapping(path="/user")
public class HelloController {
@RequestMapping(value="/hello",method={RequestMethod.POST})
public void sayHello(){
}
}
3)params:用于指定限制请求参数的条件,它支持简单的表达式,要求请求参数的key和value必须和配置的一模一样
(访问下例中的方法时,必须传参数名为username参数,访问示例:项目根目录/hello?username=hello)
@RequestMapping(path="/hello",params = {"username"})//仅配置key的情况
public String sayHello(){
}
(访问下例中的方法时,必须传参数key为username,参数value为Kavins,访问示例:项目根目录/hello?username=Kavins)
@RequestMapping(path="/hello",params = {"username=Kavins"})//配置key和value
public String sayHello(){
}
4)headers:用于执行限制请求消息头的条件.发送的请求中必须包含请求头
注意:以上注解只要出现2个或以上时,他们的关系是与的关系