通过@RestControllerAdvice注解,支持restful接口。它是通过aop的方式进行全局异常捕获的。并且在方法上加上@ExceptionHandler注解就可以了, 这样我们的话就可以不用再每个控制层的方法中都捕获一次异常了。
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class GlobalExceptionHandler {
//统一处理全局异常(Exception),返回统一数据给前端 也可以自定义需要处理的异常
//参数是你需要捕获的异常类
@ExceptionHandler({Exception.class})
public Result exceptionHandler(Exception e){
//Result是统一封装的一个返回实体
return Result.error(CommonEnum.ABNORMAL.getCode(),e.getMessage());
}
}
然后在控制器抛出一个异常测试
成功