1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

Springboot使用validation优雅校验参数

关于本文

本文介绍了如何使用SpringBoot的validation组件实现优雅的参数校验,相比于传统的业务层校验代码,validation能够更好的降低代码耦合度,让业务层只需关注业务逻辑,同时提高了代码美观程度与可读性。

Springboot使用validation优雅校验参数

如何使用

首先,需要引入相关依赖:
org.springframework.boot spring-boot-starter-validation
引入依赖后我们就可以使用validation了。

接下来看下具体使用方式:

  1. 为实体类的参数添加注解制定校验规则。
  2. SpringValidation可以很方便的制定校验规则,并且能自动完成校验。我们只要在需要校验的字段上加入相关注解,同时可以指定校验失败的提示信息。

    注:下面表格中列出一些常用校验注解供参考。

    注解 功能
    @AssertFalse 可以为null,如果不为null的话必须为false
    @AssertTrue 可以为null,如果不为null的话必须为true
    @DecimalMax 设置不能超过最大值
    @DecimalMin 设置不能超过最小值
    @Digits 设置必须是数字且数字整数的位数和小数的位数必须在指定范围内
    @Future 日期必须在当前日期的未来
    @Past 日期必须在当前日期的过去
    @Max 最大不得超过此最大值
    @Min 最大不得小于此最小值
    @NotNull 不能为null,可以是空
    @Null 必须为null
    @Pattern 必须满足指定的正则表达式
    @Size 集合、数组、map等的size()值必须在指定范围内
    @Email 必须是email格式
    @Length 长度必须在指定范围内
    @NotBlank 字符串不能为null,字符串trim()后也不能等于“”
    @NotEmpty 不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“”
    @Range 值必须在指定范围内
    @URL 必须是一个URL
  3. 在控制器层进行注解声明校验规则和错误提示信息。
  4. 配置完毕后,只需要在控制器需要校验的对象上加入@Valid注解即可。

  5. 统一异常处理。
  6. 前两步配置完成后,当传入参数不符合校验规则时,程序就会抛出MethodArgumentNotValidException异常。我们通过Spring统一异常处理,将该异常封装成规范响应格式。

结语

SpringBoot接口参数校验方式改进为validation后,业务方法中只包含业务逻辑,代码变得更加简洁明了;同时降低了代码耦合度,让业务层只需关注业务逻辑,轻松构建后端接口;并且validation提供了很多丰富的校验规则,只需要加上注解即可使用,大家可以继续查阅官方文档了解。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5999.html