存在多个网关情况下,可以把统一异常处理类,写在common包里。
因为common包里没有主启动类,所以需要利用springboot自动装配原理,来使统一异常处理类生效。
1.在common包中创建统一异常处理类,如GlobalExceptionHandler
。
@ControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(Exception.class)public ResponseEntity<String> handleException(Exception ex) {// 异常处理逻辑...return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");}
}
2.在common包中创建配置类,如CommonAutoConfiguration
。
@Configuration
public class CommonAutoConfiguration {@Beanpublic GlobalExceptionHandler globalExceptionHandler() {return new GlobalExceptionHandler();}
}
通过以上配置,GlobalExceptionHandler
类将被注册为一个Bean,并生效于整个应用。