zoukankan      html  css  js  c++  java
  • ABP 微服务下的异常处理机制如何关闭

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

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

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

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

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

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

  • 相关阅读:
    FJSC2020合集
    考试前注意事项
    CSP-S&&NOIP2020游记
    IOI2020集训队作业题单
    对拍程序
    Re:memset 赋值
    2019-12-29 Div.3模拟赛题解
    NOI2020 游记
    边三连通分量算法
    【题解】Code+7 教科书般的亵渎
  • 原文地址:https://www.cnblogs.com/psycheeeeeblog/p/12703196.html
Copyright © 2011-2022 走看看