@RestControllerAdvice
public class ProjectExceptionHandler {
//捕获程序开发者预计到的异常抛出进行处理
@ExceptionHandler(CustomException.class)
public R<String> doCustomException(CustomException e){
System.err.println(e.getMessage());
return R.error(e.getMessage());
}
//捕获程序开发者未预计到的异常进行处理
@ExceptionHandler(Exception.class)
public R<String> doException(Exception e){
System.err.println(e.getMessage());
return R.error(e.getMessage());
}
}
下面这是R的自定义方法
@Data
public class R {
private Integer code; //编码:1成功,0和其它数字为失败
private String msg; //错误信息
private T data; //数据
private Map map = new HashMap(); //动态数据
public static <T> R<T> success(T object) {
R<T> r = new R<T>();
r.data = object;
r.code = 1;
return r;
}
public static <T> R<T> error(String msg) {
R r = new R();
r.msg = msg;
r.code = 0;
return r;
}
public R<T> add(String key, Object value) {
this.map.put(key, value);
return this;
}
}