springboot 表单,json验证提取提示信息

一般我们使用spring表单验证,在实体类里字段标注实体类注解。

如:

@Data
public class SupplierBarCode {
    //定制批号
    @NotBlank(message = "定制批号不能为空")
    private String customizeLot;
    //供应商
    @NotBlank(message = "供应商条码不能为空")
    private String supplier;
    //创建人
    @NotBlank(message = "创建人不能为空")
    private String creator;
    //条码
    @NotEmpty(message = "条码不能为空")
    private List<String> barCodeList;
}

然后在controller方法开启spring表单验证,然后在方法参数加@Validated 开启验证即可

@PostMapping(value = "saveData")
@ResponseBody
public String saveData(@Validated @RequestBody SvVideoDto data)

但这样的验证不通过,会报spring的自带信息,有时我们需要对对表单及json传过来的数据正行验证,我们可以具手动调用spring验证方法,具体操作如下:

public static <T> List<String> validate(T t) {
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();
    Set<ConstraintViolation<T>> constraintViolations = validator.validate(t);

    List<String> messageList = new ArrayList<>();
    for (ConstraintViolation<T> constraintViolation : constraintViolations) {
        messageList.add(constraintViolation.getMessage());
    }
    return messageList;
}

然后简单的调用即可:

List<String> messageList=ApiGoodsService.validate(supplierBarCode);

报错信息简单明了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值