使用到的注解:
@ControllerAdvice:是一个增强的 Controller,可以对controller层做异常处理、数据预处理、全局数据绑定
@ExceptionHandler:可以用来统一处理方法抛出的异常,注解中可以添加参数,参数是某个异常类的class,代表这个方法专门处理该类异常
@ResponseBody:作用是将java对象转为json格式的数据
1.创建一个处理类
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ControllerAdvice;
@Component
@ControllerAdvice
public class GlobalExceptionHandler {
}
2.添加全局异常处理方法,并表明方法返回的时json格式的数据,参数时程序运行时抛出的异常对象
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@Component
@ControllerAdvice
public class GlobalExceptionHandler {
@ResponseBody
@ExceptionHandler
public Result<String> globalException(Exception ex){
return ResultUtil.fail(ex.getMessage());
}
}