在Spring Boot的REST接口项目中, 提供了对外参数的定义,使用一个Java的类定义了一个接口的参数类型,在接受参数数据时需要对这些传入的参数值做简单的验证,参数的属性值太多, 使用 if else这样的判断势必啰嗦,也不易读, 于是想到了Java Bean的校验机制。
开始 Bean的校验之前, 先了解一下 JSR 303规范 和 Hibernate Validator 。
JavaBean 验证规范 - JSR 303规范
Java Bean Validation(JSR 303)是Java规范请求(Java Specification Requests)中的一种,具体定义了JavaBean的验证规范。它提供了一种声明性的方式来验证Java对象的属性和约束条件,从而确保数据的完整性和一致性。
JSR 303规范是Java EE和Java SE中对Java Bean进行验证的一种方式,它主要使用注解的方式来实现验证功能。这套规范定义了一组常用的注解,用于标识不同类型的验证约束条件。例如,@NotNull注解用于指示属性不能为null;@Size注解用于指示属性的长度必须在指定范围内;@Min和@Max注解用于指示数值类型属性的最小值和最大值;@Pattern注解则用于指示属性必须匹配指定的正则表达式等。
在应用程序中,开发者可以通过这些注解或XML配置来描述对象的约束条件,并使用验证器来验证对象的属性是否符合这些约束。这种验证机制可以广泛应用于各种场景,如Web应用中的表单数据验证、业务逻辑中的数据校验等。
此外,JSR 303的官方参考实现是Hibernate Validator。Hibernate Validator