
学习目的:
掌握ruoyi-vue的参数验证基础流程以及自定义[参数验证的]注解,触发验证抛出异常报错
目录
ruoyi-vue前后端中的参数验证
1.打开通知公告,进入公告修改界面

在公告标题里输入超过50的字符,看看会发生什么

可以看到弹出了错误提示框

那么在以前想要实现这样的功能,一般就是在前端进行参数校验就结束了。那么ruoyi是如何实现参数校验的呢?
2.ruoyi前端:
可以看到ruoyi前端的表单校验只是简单的进行了是否为空。


是否为空校验完后,则会请求后端接口


返回结果可以通过开发者工具进行查看
![]()
![]()
在request.js 文件中 设置了响应拦截器 当传回的是code=500 则会跳出报错框

3.ruoyi后端:
后端接收前端的接口,用于参数校验的核心注解就是@Validated

使用@Validated 注解
需要确定对哪个参数的get方法进行参数校验,就i需要使用@size @notBlank 等注解明确校验的格式

ruoyi又是怎么处理参数异常的呢
当noticetitle属性不满足要求时,会抛出如下异常
![]()
ruoyi又是怎样处理参数异常
globalExceptionHandler 全局异常处理 @RestControllerAdvice 注册全局异常处理类


这样就是全部的处理参数验证的流程。
ruoyi自定义[参数验证的]注解,触发验证抛出异常报错
需求分析:
同样是在修改公告这里,我现在的需求是 如果内容中出现 一串完整的手机号 那么就触发参数验证抛出异常报错。

开始实现
在ruoyi.common下创建文件夹phone


创建一个自定义注解

他的验证适配器,表达一旦匹配到一串完整的手机号 就验证失败。

给内容的getter方法添加自定义的注解

验证:
可以看到当我们的内容中出现一串手机号以后,就会触发参数验证的报错。


总结:
摘要:Ruoyi-vue框架通过前后端协作实现参数验证。前端进行基础非空校验,后端使用@Validated注解配合@Size、@NotBlank等规则进行验证。当参数不合法时,GlobalExceptionHandler全局异常处理器会捕获并返回错误。文章还演示了如何自定义验证注解,实现"内容含手机号时触发异常"的需求:创建@Phone注解及其验证器,在getter方法上添加该注解即可完成特殊业务校验。整个流程展示了Ruoyi灵活的参数验证机制,从前端拦截到后端处理再到自定义扩展的完整实现方案。
6554

被折叠的 条评论
为什么被折叠?



