springboot @Min @Max参数校验失效

对于分页参数page、count都做了@Min、@Max规定,参数传入违规参数系统并未报错,求解

import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;

@Validated
@RequestMapping("/v1/banner")
@RestController
public class BannerController {

    @GetMapping("/page")
    public void getBanners(@RequestParam(required = false, defaultValue = "0")
                           @Min(value = 0) Integer page,
                           @RequestParam(required = false, defaultValue = "10")
                           @Min(value = 1) @Max(value = 30) Integer count) {
        /**
         * 这里的@Max与@Min都失效了 Why?
         */
        System.out.println(page);
        System.out.println(count);

    }
}

postman发送GET请求如下,最终得到状态码200正常,不晓得为什么

 

 

第一:spirngmvc不是所有的参数解析器,都提供了Valid的校验;

 

 

很明显,RequestParamMethodArgumentResolver就不支持参数校验;那两个支持的,一个是普通的bean,一个是json请求(主要是我也不想继续找了吧,可能其他的也支持)

 

第二个:触发方式,也就是标记的注解也不对,org.springframework.validation.annotation.Validated这个注解支持,还一个就是Valid开头的也支持;我没测试,是不是自己定义一个这个Validaaa注解,他也能拦截勒

第一:spirngmvc不是所有的参数解析器,都提供了Valid的校验;

 

 

很明显,RequestParamMethodArgumentResolver就不支持参数校验;那两个支持的,一个是普通的bean,一个是json请求(主要是我也不想继续找了吧,可能其他的也支持)

 

第二个:触发方式,也就是标记的注解也不对,org.springframework.validation.annotation.Validated这个注解支持,还一个就是Valid开头的也支持;我没测试,是不是自己定义一个这个Validaaa注解,他也能拦截勒

@Validated  max注解失效的话 在类上面加这个注解