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进行封装,则会直接跳入我们自己的异常处理机制,进行返回值的设计和返回 来满足我们的接口规范。

  • 相关阅读:
    vue中插槽的使用场景
    css实现文字两端对齐
    es6 every的使用
    es6 filter方法应用
    es6 map的用法
    spring-servlet.xml
    Spring MVC过滤器HiddenHttpMethodFilter
    controller大全(推荐)
    目前接触到的UI
    jdk环境配置(windows版)
  • 原文地址:https://www.cnblogs.com/psycheeeeeblog/p/12703196.html
Copyright © 2011-2022 走看看