news 2026/5/7 3:13:50

[后端作业W10] 参数验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[后端作业W10] 参数验证

问题:按PPT 方式触发一个新的参数验证异常的例子,展示如PPT 前后端信息的相关代码和截图

一、什么是“参考验证”

参考验证=后端对前端传过来的数据做规则检查

  • 不用写一堆if/else判断
  • 用注解一次性约束字段
  • 不合法直接抛异常,全局统一处理
  • 一次配置,到处服用,不改多处代码

PPT中的4个生效条件(必须记住)

  1. 实体类字段上加验证注解(@NotBlank/@Size等)
  2. Controller接口参数加@Validated
  3. @RestControllerAdvice全局异常处理器
  4. 捕获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:前端操作触发异常

后端控制台日志

~~~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 3:12:51

3步解决Beyond Compare激活难题:开源密钥生成方案详解

3步解决Beyond Compare激活难题:开源密钥生成方案详解 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的评估期到期而烦恼吗?文件对比工具的授权问…

作者头像 李华
网站建设 2026/5/7 3:12:49

LMDeploy:大型语言模型高效部署与量化压缩实战指南

1. 项目概述:LMDeploy,一个为大型语言模型“瘦身”与“加速”的瑞士军刀如果你正在为如何将动辄数十亿、上百亿参数的大型语言模型(LLM)或视觉语言模型(VLM)高效地部署到生产环境而头疼,那么LMD…

作者头像 李华
网站建设 2026/5/7 3:10:30

Superpowers-zh:为中文开发者深度本地化的开源游戏引擎解决方案

1. 项目概述:一个为中文开发者量身定制的“超能力”工具箱如果你是一名中文开发者,或者对游戏开发、交互式应用创作感兴趣,那么你很可能听说过“Superpowers”这个开源项目。它是一个功能强大的实时协作2D/3D游戏引擎和IDE,以其直…

作者头像 李华
网站建设 2026/5/7 3:08:58

多智能体投资组合管理:从AI代理协作到动态资产配置实战

1. 项目概述:一个能同时管理多个AI代理的投资组合智能体最近在GitHub上看到一个挺有意思的项目,叫dual-ai-portfolio-agent。光看名字,你可能会觉得这又是一个关于AI炒股或者量化交易的工具。但仔细研究后,我发现它的核心思路比单…

作者头像 李华