若依框架下的⾃定义Exception抛出,返回code,msg不出错
(springboot)。
若依框架下的⾃定义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到调⽤它的⽅法。
再通过⽅法名称它"规范"它的⽅法。
springboot aop最后到了若依统⼀处理异常的类以及其中“规范”⾃定义异常的⽅法:
这时候你只需要复制⼀份,随便改个名称,就可以做到跟它⼀样不报错且返回你想要的⾃定义code信息的返回数据(注:你的⾃定义Exception得放在ruoyi-common中,不然处理不到):
此上就是我在写ruoyi中的⾃定义Exception所踩的坑,希望能帮助到你们,谢谢观看。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。