Spring中开启方法级验证
在spring中只需要注册了MethodValidationPostProcessor就能开启方法级验证,在调用方法时如果参数或返回值无法满足对应的限制就无法完成调用
下面以springboot项目为例。
首先在spring容器内放入MethodValidationPostProcessor
@SpringBootApplication
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(new Object[]{App.class}, args);
}
@Bean
public MethodValidationPostProcessor mvp(){
return new MethodValidationPostProcessor();
}
}
之后就可以开始方法级验证了
@RestController
@Validated
public class MyControler {
@RequestMapping("/a")
public @Size(min=1) String a(@Size(min=1) String a){
return a;
}
}
如上,首先需要加上Validated注解(spring4.3.2在类上加了有效,方法上加了无效),之后在方法的参数或返回值是哪个就可以加上对应的校验规则了
校验规则
spring支持jsr303以及hibernate中的校验规则
@AssertFalse 对应参数为false