spring统一异常处理

Spring提供了同意的异常处理注解,用户只需要在错误的时候提示信息即可

  1. 实现方式:
    • 在类上添加@ControllerAdvice注解
    • 在方法上添加@ExceptionHandler注解

  1. 例如:

    1. 自定义一个异常  AbstractApolloHttpException
    public class AbstractApolloHttpException extends RuntimeException{
      private static final long serialVersionUID = -1713129594004951820L;
    
     public AbstractApolloHttpException(String msg){
       super(msg);
     }
    
     public AbstractApolloHttpException(String msg, Exception e){
       super(msg,e);
     }
    }
    
    
    
    2. 自定义同意异常的处理类 GlobalDefaultExceptionHandler
    @ControllerAdvice
    public class GlobalDefaultExceptionHandler {
        //处理自定义Exception
     @ExceptionHandler({AbstractApolloHttpException.class})
     public ResponseEntity<Map<String, Object>> badRequest(HttpServletRequest request, AbstractApolloHttpException ex) {
       return handleError(request, ex.getHttpStatus(), ex);
     }
    }

猜你喜欢

转载自blog.csdn.net/m0_37779570/article/details/81087500