阶段5 3.微服务项目【学成在线】_day18 用户授权_06-方法授权-方法授权测试-无权限异常处理

现在没权限返回的信息

控制台抛出的异常是这个 : 不允许访问,这是Spring Security跑出来的

我们在异常处理器里面打个断点看一下


重新测试,就跳转到了异常捕获类这里。

这是异常的类型


这里定义了Map,

在Map里面可以定义异常类型对应的错误代码

解决方法?在这里再定义类型的错误代码?

我们不准备在这里定义,ExceptionCatch是common工程的通用类,很多的子系统都用这个类

有些系统它就可以个性的来指定异常类型所对应的错误代码,比如说现在我们这个课程管理这个服务它用到了ExceptionCatch这个类。它完全可以自己个性化定义属于它的异常类型所对应的错误代码

简单来说就是不在通用类里面混乱定义,课程管理这个服务个性化定义。说白了就是把代码写在这个课程管理的服务里面,不要在common工程里面去写

自定义异常处理

定义一个exception的包


在exception里面定义自己的异常类型、CustomExceptionCatch

继承ExceptionCatch


ExceptionCatch

@ControllerAdvice使用控制器增强的注解

定义自己的静态块。builder对象是protected类型的,表示子类也能用





在课程里面加一个自己的错误代码。或者在CommonCode里面扩展一个也是可以的

里面有一个权限不足的代码

通过这种方式来自定义系统用的错误错误代码和异常类型

重启服务,再来测试



 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   高山-景行  阅读(169)  评论(0编辑  收藏  举报
编辑推荐:
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
· 大模型 Token 究竟是啥:图解大模型Token
阅读排行:
· 瞧瞧别人家的限流,那叫一个优雅!
· 1.net core 工作流WorkFlow流程(介绍)
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 面试官:如果某个业务量突然提升100倍QPS你会怎么做?
· 短信接口被刷爆:我用Nginx临时止血
历史上的今天:
2013-10-10 ExtJS Form
点击右上角即可分享
微信分享提示