目录
前言
参数验证是一个应用中必不可少的一部分操作,参数验证又可以分为前端验证和后端验证。如果没有参数验证的话,我们的逻辑可能就会报错,例如:空指针异常,更严重的可能造成系统的瘫痪。
参数验证又可以分为前端验证和后端验证,前端验证可以通过各种手段进行跳过,例如直接调用接口等等。为了防护系统出现各种异常,后端验证是不可取少的一部分。
触发验证抛出异常
以ruoyi中添加岗位为例
前端现象
后端现象
源码分析
前端代码
后端返回信息后,前端的处理逻辑,返回code 为500 时,输出错误提示Message 框
后端代码
异常处理
报错分析
添加岗位报错,分析逻辑总结:
1.修改前端角色名称长度超过50,如aaaaaaaaaaaaaaaaaaa······
2.点击确定与后台交互,请求URI:/system/post
3.后台检测到SysRole 的参数SysPost 不符合要求,则抛出异常类型MethodArgumentNotValidException
4.异常被全局异常处理器捕获,返回message 给到前端,且错误码是500
5.前端路由截获错误码500 的信息,进行处理显示message 内容