从功能上说冗余的if-else代码没啥毛病,但从代码的优雅性来说冗长的if-else代码会显得非常臃肿。接下来的内容将给大家介绍一种处理此类问题的实用方法。具体将从以下几个方面进行介绍:
-
使用@Validated注解实现Controller接口层数据直接绑定校验;
-
扩展约束性注解实现数据取值范围的校验;
-
更加灵活的对象数据合法性校验工具类封装;
-
数据合法性校验结果异常统一返回处理;
Controller接口层数据绑定校验
实际上在Java开发中目前普通使用的Bean数据校验工具是"hibernate-validator",它是一个hibernete独立的jar包,所以使用这个jar包并不需要一定要集成Hibernete框架。该jar包主要实现并扩展了javax.validation(是一个基于JSR-303标准开发出来的Bean校验规范)接口。
由于Spring Boot在内部默认集成了"hibernate-validator",所以使用Spring Boot构建的Java工程可以直接使用相关注解来实现Bean的数据校验。例如我们最常编写的Controller层接口参数对象,可以在定义Bean类时直接编写这样的代码:
@Data
public class CreateOrderDTO {
@NotNull(message = "订单号不能为空")
private String orderId;
@NotNull(message = "订单金额不能为空")
@Min(value = 1, message = &#