企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
@ControllerAdvice 是 Spring Framework 中的一个注解,用于定义一个全局的异常处理器。当应用程序中出现异常时, @ControllerAdvice 注解会拦截并捕获这些异常,并根据定义的逻辑进行相应的处理。使用 @ControllerAdvice 注解可以让我们更加方便地统一处理应用程序中的异常,并返回用户友好的错误信息。 以下是一个简单的 @ControllerAdvice 示例: ``` @ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public ResponseEntity<ErrorResponse> handleException(Exception ex) { ErrorResponse errorResponse = new ErrorResponse(); errorResponse.setCode(HttpStatus.INTERNAL_SERVER_ERROR.value()); errorResponse.setMessage(ex.getMessage()); return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(errorResponse); } } ``` 在上述示例中,我们通过 @ControllerAdvice 注解声明了一个名为 GlobalExceptionHandler 的全局异常处理器。然后我们使用 @ExceptionHandler 注解定义了一个方法,用于处理 Exception 类型的异常。在该方法中,我们可以根据实际需求进行一些业务逻辑的处理,并生成一个包含错误代码和错误消息的 ErrorResponse 对象。 需要注意的是,@ExceptionHandler 注解可以定义多个方法,每个方法负责处理不同类型的异常。如果出现多个匹配的异常处理方法,Spring 会选择匹配度最高的方法进行处理。 总之,@ControllerAdvice 是 Spring Framework 中用于定义全局异常处理器的注解,能够帮助我们更加方便地统一处理应用程序中的异常,并提供友好的错误提示信息,从而提高用户体验和应用程序的稳定性。