@RequestMapping(映射请求)

@RequestMapping(映射请求)

标准URL映射

@RequestMapping(value=”xxx”)
定义在方法上:请求路径就是方法上注解的value值
定义在类上:相当于给url多加了一个二级路径

Ant风格的映射(通配符)

通配符

?:通配一个字符
*:通配任意多个字符,可以是0个,可以是1个,可以是多个,作为路径时不要使用
**:通配任意多个路径

占位符(了解即可用不着)

@RequestMapping(value=“/user/{name}/{id} “)
这种方式虽然和通配符“*”类似,却比通配符更加强大,占位符除了可以起到通配的作用,最精要的地方是在于它还可以传递参数。
注意:@PathVariable(“key”)中的key必须和对应的占位符中的参数名一致,而方法形参的参数名可任意取

@RequestMapping(value="/show4/{name}/{id}")
public ModelAndView test4(@PathVariable("name")String name,@PathVariable("id")Long id){
    ModelAndView mv = new ModelAndView();
    mv.setViewName("hello");
    mv.addObject("msg", "占位符的映射:"+name+"..."+id);
    return mv;
}

限定请求方法的映射

可限定单个和多个

@RequestMapping(value="show1",method={RequestMethod.POST,RequestMethod.GET})
    public ModelAndView test6(){
        ModelAndView mv = new ModelAndView("hello");//在构造函数中设置视图名称
        mv.addObject("msg", "限定请求方法的映射:post/get");
        return mv;
    }

也可使用组合注解

@GetMapping  、@PostMapping  、@DeleteMapping  、@PutMapping  

当请求方式不符合要求时 页面状态码为 405请求方法错误

限定请求参数的映射

@RequestMapping(value=””,params=””)
params=”userId”:请求参数中必须带有userId
params=”!userId”:请求参数中不能包含userId
params=”userId=1”:请求参数中必须包含参数userId并且值必须为1
params=”userId!=1”:请求的所有参数中如果有userId必须不为1,参数中可以不包含userId
params={“userId”, ”name”}:请求参数中必须有userId,name参数

注意:参数名称和参数值直接不要有空格,即userId=1,而不是userId = 1,因为一般在url中是不会有空格的

猜你喜欢

转载自blog.csdn.net/luoxiao2554/article/details/80484768