SpringMVC—RequestMapping注解参数说明
通过@RequestMapping 注解可以定义处理器对于请求的映射规则。该注解可以注解在方 法上,也可以注解在类上
注解是否有参数分为以下几种情况:
1、类注解有value参数,只有一个方法注解没有value参数
@Controller @RequestMapping("/putway") public class PutwayController { @RequestMapping(value = "/tesr") @ResponseBody public void put(){ System.out.println("测试1"); } @RequestMapping @ResponseBody public void pukt(){ System.out.println("测试2"); } }
这种情况下,访问接口 "http://localhost:8080/putway" 直接会映射到 pukt() 方法上
2、类注解有value参数,多个方法注解没有value参数
@Controller @RequestMapping("/putway") public class PutwayController { @RequestMapping(value = "/tesr") @ResponseBody public void put(){ System.out.println("测试1"); } @RequestMapping(method = RequestMethod.POST) @ResponseBody public void pukt(){ System.out.println("测试2"); } @RequestMapping(method = RequestMethod.GET) @ResponseBody public void putrt(){ System.out.println("测试3"); } }
这种情况下,注解的 method类型 要不同 访问接口 "http://localhost:8080/putway" 直接根据 method类型 会映射到 pukt() 或 putrt() 等方法上,如果出现相同 method类型 的方法注解则会报错
3、类注解没有value参数或没有使用RequestMapping注解,方法注解都有value参数
@Controller @RequestMapping public class PutwyController { @RequestMapping(value = "/tedsr") @ResponseBody public void put(){ System.out.println("测试6"); } }
这种情况下,访问接口 "http://localhost:8080/tedsr" 会映射到 put() 方法上
4、类注解没有value参数或没有使用RequestMapping注解,只有一个方法注解没有value参数
@Controller @RequestMapping public class PutwyController { @RequestMapping(value = "/tedsr") @ResponseBody public void put(){ System.out.println("测试6"); } @RequestMapping @ResponseBody public void pukt(){ System.out.println("测试7"); } }
这种情况下,tomcat运行后自动调用 pukt()方法 , 如果 多个方法 注解没有value参数会报错