Class BaseAdvice

java.lang.Object
org.miaixz.bus.core.basic.spring.Controller
org.miaixz.bus.base.advice.BaseAdvice

@ControllerAdvice @RestControllerAdvice @ConditionalOnWebApplication(type=SERVLET) public class BaseAdvice extends org.miaixz.bus.core.basic.spring.Controller
异常信息拦截
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • BaseAdvice

      public BaseAdvice()
  • Method Details

    • initBinder

      @InitBinder public void initBinder(org.springframework.web.bind.WebDataBinder binder)
      应用到所有@RequestMapping注解方法,在其执行之前初始化数据绑定器
      Parameters:
      binder - 绑定器
    • addAttributes

      @ModelAttribute public void addAttributes(org.springframework.ui.Model model)
      把值绑定到Model中, 使全局@RequestMapping可以获取到该值
      Parameters:
      model - 对象
    • defaultException

      @ResponseBody @ExceptionHandler(java.lang.Exception.class) @ResponseStatus(INTERNAL_SERVER_ERROR) public Object defaultException(Exception e)
      全局异常拦截 处理全局异常
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • InternalException

      @ResponseBody @ExceptionHandler(org.miaixz.bus.core.lang.exception.InternalException.class) public Object InternalException(org.miaixz.bus.core.lang.exception.InternalException e)
      内部异常拦截
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • businessException

      @ResponseBody @ExceptionHandler(org.miaixz.bus.core.lang.exception.BusinessException.class) public Object businessException(org.miaixz.bus.core.lang.exception.BusinessException e)
      拦截业务异常 事务回滚处理
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • crontabException

      @ResponseBody @ExceptionHandler(org.miaixz.bus.core.lang.exception.CrontabException.class) public Object crontabException(org.miaixz.bus.core.lang.exception.CrontabException e)
      定时任务失败
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • validateException

      @ResponseBody @ExceptionHandler(org.miaixz.bus.core.lang.exception.ValidateException.class) public Object validateException(org.miaixz.bus.core.lang.exception.ValidateException e)
      参数验证失败
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • httpRequestMethodNotSupportedException

      @ResponseBody @ExceptionHandler(org.springframework.web.HttpRequestMethodNotSupportedException.class) public Object httpRequestMethodNotSupportedException(org.springframework.web.HttpRequestMethodNotSupportedException e)
      请求方式拦截
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • httpMediaTypeNotSupportedException

      @ResponseBody @ResponseStatus(UNSUPPORTED_MEDIA_TYPE) @ExceptionHandler(org.springframework.web.HttpMediaTypeNotSupportedException.class) public Object httpMediaTypeNotSupportedException(org.springframework.web.HttpMediaTypeNotSupportedException e)
      媒体类型拦截
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • noHandlerFoundException

      @ResponseBody @ResponseStatus(NOT_FOUND) @ExceptionHandler(org.springframework.web.servlet.NoHandlerFoundException.class) public Object noHandlerFoundException(org.springframework.web.servlet.NoHandlerFoundException e)
      资源未找到
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • handleBodyValidException

      @ResponseBody @ResponseStatus(BAD_REQUEST) @ExceptionHandler({org.springframework.web.bind.MethodArgumentNotValidException.class,org.springframework.validation.BindException.class}) public Object handleBodyValidException(org.springframework.web.bind.MethodArgumentNotValidException e)
      参数绑定异常
      Parameters:
      e - 异常信息
      Returns:
      异常提示
    • defaultExceptionHandler

      public void defaultExceptionHandler(Exception ex)
      业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true, 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求; 这里可以加上登录校验,权限拦截、请求限流等
      Parameters:
      ex - 对象参数