Spingboot的字段校验

校验注解在这2个包下org.hibernate.validator.constraints ; javax.validation.constraints

参考:

你还在手动对数据进行校验,快来使用validation吧_喜欢技术的小璐的博客-CSDN博客

@Valid 和 @Validated 注解用法详解_zyqok的博客-CSDN博客_@valid @validated

@Validated注解详解,分组校验,嵌套校验,@Valid和@Validated 区别,Spring Boot @Validated_昌杰的攻城狮之路的博客-CSDN博客_@validated注解

@Valid注解是javax包下的注解,需配合BindingResult类。用@Validated更方便,只需添加全局异常处理类,处理校验失败情况。

springboot版本:2.3.10.RELEASE

maven:

        <!--@Valid -@Validated 校验-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

全局异常处理 

    /**
     * 处理校验异常
     *
     * @param request
     * @param e
     * @return
     */
    @ExceptionHandler(value = MethodArgumentNotValidException.class)
    @ResponseBody
    public BaseResponse validExceptionHandler(HttpServletRequest request, MethodArgumentNotValidException e) {
        log.error("校验异常:", e);
        ObjectError objectError = e.getBindingResult().getAllErrors().get(0);
        return new BaseResponse(400, objectError.getDefaultMessage());
    }

在属性上加上@Valid 可级联验证

@ApiModelProperty(value = "巡检点集合")
    @Valid
    List<PointVO> pointIds;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public static class PointVO{

        @ApiModelProperty(value="序列,默认0")
        Integer seq;

        @NotEmpty
        @ApiModelProperty(value="巡检点id")
        Integer PointId;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值