创建一个全局异常处理类,加上@RestControllerAdvice注解(@RestControllerAdvice注解包含了@ControllerAdvice注解和@ResponseBody注解)
/**
*自定义全局异常
*/
@RestControllerAdvice
public class GlobalExceptionHandler
{
private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
@ExceptionHandler(BindException.class)
public AjaxResult validatedBindException(BindException e){
logger.error(e.getMessage(), e);
String message = e.getAllErrors().get(0).getDefaultMessage();
return AjaxResult.error(message);
}
@ExceptionHandler(HttpMessageNotReadableException.class)
public AjaxResult httpMessageNotReadableException(HttpMessageNotReadableException e){
logger.error(e.getMessage(), e);
return AjaxResult.error(500,"数据类型不一致");
}
}
在@ExceptionHandler(xxx.class)注解中 xxx:对应各种异常类