springboot中@Valid注解与@Validated注解区别以及全局异常的处理
前端传过来数据的时候,要进行校验,但是大量的校验很繁琐,会造成大量的if else语句的产生,所以@Valid和@Validated很好的解决了这个问题. 首先说一下两个注解的区别: 1.两者的所属的包是不同的 @Valid属于javax.validation包下,是jdk给提供的 @Validated是org.springframework.validation.annotation包下的,是spring提供的 2.@Validated要比@Valid更加强大 @Validated在@Valid之上提供了分组功能和验证排序功能 一.处理校验的异常 首先定义一个实体类: @Data public class Person { @NotEmpty(message = "姓名不能为空" ) private String name; @Max(value = 18,message = "年龄不能超过18岁" ) private String age; @Max(value = 1, message = "性别只能为0和1: 0=女1=男" ) @Min(value = 0, message = "性别只能为0和1: 0=女1=男" ) private Short sex; } 然后controller,BindingResult对象