0


若依框架下的自定义Exception抛出,返回code,msg不出错(spring boot)。

若依框架下的自定义Exception抛出,返回code,msg不出错:

最近接的项目后台中,因为需要在app用到自定义的token验证(不用若依的那一套登陆token)来确保接口的安全性,需要在进入接口前使用aop切面的before来验证它的头(headers)是否符合条件。

先上代码:

verifyToken是我检验的切点。

当token出现不匹配或者数据缺失时,就需要通过抛出Exception来中断该接口直接返回定义好的code跟msg。

这时候就需要用到自定义的Exception。

Exception代码:

这时候如果直接启动若依框架,用postman调用接口可以看见出现不是自己定义的code情况。

且出现idea,Exception抛出报错的提示

很多人用过的人都熟悉,code500是若依接口空值等很多访问接口的返回信息,那么你就能知道其实你写的自定义Exception被若依”截获“了并改成符合它自己条件的code值,msg不变是因为若依的接口返回规范中的getMessage不做约束。

这时候你就需要去想一下若依自己的抛出为什么不会报错?通过shift+ctrl+f找若依的相同返回值,例如401。

在通过401找到调用它的方法。

再通过方法名称找它"规范"它的方法。

最后找到了若依统一处理异常的类以及其中“规范”自定义异常的方法:

这时候你只需要复制一份,随便改个名称,就可以做到跟它一样不报错且返回你想要的自定义code信息的返回数据(你的自定义Exception得放在ruoyi-common中,不然处理不到):

此上就是我在写ruoyi中的自定义Exception所踩的坑,希望能帮助到你们,谢谢观看。

标签: java exception spring

本文转载自: https://blog.csdn.net/m0_46748682/article/details/117090989
版权归原作者 Jhssser 所有, 如有侵权,请联系我们删除。

“若依框架下的自定义Exception抛出,返回code,msg不出错(spring boot)。”的评论:

还没有评论