首页 > 其他 > 详细

ABP 微服务下的异常处理机制如何关闭

时间:2020-04-15 11:25:35      阅读:89      评论:0      收藏:0      [点我收藏+]

关注了ABP一段时间,并且也有一些内部项目基于ABP的架构落地,近期有一个项目需要使用微服务架构,所以就研究了ABP的microservice demo,进行了本地部署。项目本身是一个业务/数据中台的定位,需要提供很多服务API,在做各个服务的API返回值处理的时候发现,如果调用ABP封装好的module,且module里抛异常出来,则会直接走ABP自带的返回值(把异常结果进行封装)并作为这次http请求的结果,但这样的返回值格式不是我们的规范,所以就想办法去自定义,由于ABP VNEXT版本比较新,所以一些特性还没有在新版本中迭代,比如DontWarpResult这个属性。

奈何项目时间短,任务重,就采取了比较不友好的方式来解决。

ABP 都是基于AbpExceptionFilter来截取所有exception,那么我们就重新定义了一个自己的exceptionFilter,如下:

技术分享图片

 

 然后将此filter 注入到程序中,如下:

技术分享图片

 

 此时还需要将原有的AbpExceptionFilter进行移除,如下:

技术分享图片

 

 至此,所有的异常都不再走AbpExceptionFilter进行封装,则会直接跳入我们自己的异常处理机制,进行返回值的设计和返回 来满足我们的接口规范。

ABP 微服务下的异常处理机制如何关闭

原文:https://www.cnblogs.com/psycheeeeeblog/p/12703196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!