用 @ExceptionHandler注解实现异常统一处理:
public class BaseController {
private static final Logger logger = LoggerFactory.getLogger(BaseController.class);
@ExceptionHandler(Exception.class)
@ResponseBody
protected ResponseVo handleException(Exception e) {
logger.error(e.getMessage(), e);
if (e instanceof HttpMessageNotReadableException ||
e instanceof NumberFormatException ||
e instanceof InvalidPropertyException){
return new ResponseVo(ResponseStatus.DATA_PARSE_ERROR.VALUE, e.getLocalizedMessage());
} else if (e instanceof NoticeException) {
return new ResponseVo(ResponseStatus.FORBIDDEN.VALUE, e.getMessage());
}
return new ResponseVo(ResponseStatus.ERROR.VALUE,e.getLocalizedMessage());
}
}
如果程序异常会被捕获,接下来响应的数据就可以自己定义了