问题:按PPT 方式触发一个新的参数验证异常的例子,展示如PPT 前后端信息的相关代码和截图
一、什么是“参考验证”
参考验证=后端对前端传过来的数据做规则检查
- 不用写一堆if/else判断
- 用注解一次性约束字段
- 不合法直接抛异常,全局统一处理
- 一次配置,到处服用,不改多处代码
PPT中的4个生效条件(必须记住)
- 实体类字段上加验证注解(@NotBlank/@Size等)
- Controller接口参数加@Validated
- 有@RestControllerAdvice全局异常处理器
- 捕获MethodArgumentNotValidException异常
二、PPT中【用户手机号长度验证】的例子
PPT中用的是SysUser用户表+phonenumber字段,限制它每次从前端传过来的长度不超过30
步骤1:给实体类SysUser加验证注解
找到SysUser.java,给phonenumber字段加上内容
文件位置:D:\RuoYi-Vue-v3.8.2\ruoyi-common\src\main\java\com\ruoyi\common\core\domain\entity\SysUser.java
步骤2:给Controller接口加@Validated开启验证
找到SysUserController.java,找到修改用户的方法并修改(@Validated)
文件位置:D:\RuoYi-Vue-v3.8.2\ruoyi-admin\src\main\java\com\ruoyi\web\controller\system\SysUserController.java
步骤3:确认全局异常处理器已存在
文件位置:D:\RuoYi-Vue-v3.8.2\ruoyi-framework\src\main\java\com\ruoyi\framework\web\exception\GlobalExceptionHandler.java
步骤4:前端操作触发异常
三、新的参数异常例子
我找的是SysDept+deptName字段,限制部门名称长度不能超过30个字符
步骤1:给实体类SysDept加验证注解
找到SysDept.java,找到deptName的方法和注解
文件位置:D:\RuoYi-Vue-v3.8.2\ruoyi-common\src\main\java\com\ruoyi\common\core\domain\entity\SysDept.java
步骤2:给Controller加@Validated
找到SysDeptController.java,找到修改部门的方法和注解
文件位置:D:\RuoYi-Vue-v3.8.2\ruoyi-admin\src\main\java\com\ruoyi\web\controller\system\SysDeptController.java
步骤3:前端操作触发异常
后端控制台日志
~~~