针对web项目,对外接口的参数校验是必不可少的。如果接口参数比较少,还可以通过ifelse进行逐个校验,但如果参数比较多,这种方式来进行编写代码会变得非常冗余。
作为程序员,抽象和统一处理的能力是也是编程能力的重要指标。本篇文章就带大家基于Java Bean Validation来完成web项目参数校验的统一处理。
Bean Validation
JSR303规范是Java EE 6中的一项子规范:Bean Validation,官方参考实现是Hibernate Validator,JSR303 用于对Java Bean中的字段的值进行验证。本文也是基于Hibernate的实现来完成参数的校验。
Bean Validation为JavaBean验证定义了相应的元数据模型和API。缺省的元数据是Java Annotations,通过使用XML可以对原有的元数据信息进行覆盖和扩展。
在应用程序中,通过使用Bean Validation或是自定义的 约束(constraint),例如@NotNull,@Max,@ZipCode等来确保数据模型(JavaBean)的正确性。
constraint可以附加到字段、getter方法、类或者接口上面。对于一些特定的需求,用户可以很容易的开发定制化的 constraint。Bean Validation是一