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参数会报错

 

posted @ 2021-06-29 23:11  mingruqi  阅读(353)  评论(0编辑  收藏  举报