首页 > 解决方案 > 如何忽略依赖项中的@ExceptionHandler?

问题描述

我在尝试在我的一个方法中返回“ ResponseEntity ”时遇到问题,该方法位于自定义异常处理程序中(用@ExceptionHandler@ControllerAdvice注释),我从“doOnError”(rxjava)调用此方法,但我的问题是,当我这样做时,不仅调用了我的方法,还调用了@ControllerAdvice注释类中的另一个@ExceptionHandler,但是这个类不在我的项目中,在我的依赖项之一中。所以,到澄清我的问题:

我正在尝试处理返回 ResponseEntity 的项目中的每个异常,但是当我在@ControllerAdvice内的@ExceptionHandler上执行此操作时,位于我的依赖项中的另一个异常在我的自定义项之后被调用,因此我的响应实体构建,永远不会返回,它只是返回由依赖创建的@ExceptionHandler

我的问题是,有没有办法避免调用依赖异常处理程序?

备注

标签: javaspringexceptioncontrollerexceptionhandler

解决方案


You can prevent classes from being loaded using @ComponentScan from Spring (https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html#excludeFilters).

You can either create a custom exclusion filter for that specific ExceptionHandler class, define the packages you want to exclude (might not be feasible depending on the package where the handler is defined) or even define specific classes to exclude.


推荐阅读