使用Spring Validation检查请求参数

使用Spring Validation检查请求参数

Spring Validation框架的主要作用:实现了简化检查请求参数的基本格式

在Spring Boot中,需要添加spring-boot-starter-validation依赖项。

当需要检查请求参数时,需要在处理请求的方法的参数列表中,对需要检查的参数添加@Validated注解,表示此参数是需要通过Spring Validation进行检查的:

@RequestMapping("/add-new")
public String addNew(@Validated AlbumAddNewDTO albumAddNewDTO) {
    // 省略方法体的代码
}

然后,在类的属性上,添加相关检查注解,并在检查注解中配置message属性以指定错误时的提示文本:

@Data
public class AlbumAddNewDTO implements Serializable {

    @NotNull(message = "必须提交相册名称!")
    private String name;

    private String description;

    private Integer sort;

}

当Spring Validation检查不通过时,将抛出BindException,所以,可以在统一处理异常的类中对此类异常进行处理:

@ExceptionHandler
public String handleBindException(BindException e) {
    log.debug("处理BindException:{}", e.getMessage());

    StringBuilder stringBuilder = new StringBuilder();
    List<FieldError> fieldErrors = e.getFieldErrors();
    for (FieldError fieldError : fieldErrors) {
        String message = fieldError.getDefaultMessage();
        stringBuilder.append(message);
    }

    return stringBuilder.toString();
}

除了@NotNull以外,框架还提供了许多检查注解,

  • @Pattern:通过此注解的regexp属性配置正则表达式,并使用message配置验证失败时的提示文本
    • 注意:此注解只能添加在字符串类型的属性上
    • 注意:此注解不能检查“为null”的情况,如果不允许为null,则必须同时配置@NotNull@Pattern
  • @Range:通过此注解的minmax属性可以指定整型数据的最小值和最大值
    • 提示:此注解可以和@NotNull一起使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨兼程1217

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值