RequestMapping注解

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个或以上时,他们的关系是与的关系
 

 


原文地址:https://www.cnblogs.com/kavins/p/12307933.html