提示:文章若有错误,欢迎评论区指正🍭
最近整理一下自己平时写项目的一些工具类,在这里分享给小伙伴们,如果有喜欢的自行复制即可,开箱即用。😊
一、自定义相应类
@Setter
@Getter
public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L;
public static final int SUCCESS_CODE = 200;//成功码.
public static final String SUCCESS_MESSAGE = "操作成功";//成功信息.
public static final int ERROR_CODE = 500000;//错误码.
public static final String ERROR_MESSAGE = "系统异常";//错误信息.
private int code;
private String msg;
private T data;
public Result(){}
private Result(int code, String msg, T data){
this.code = code;
this.msg = msg;
this.data = data;
}
public static <T> Result<T> success(){
return new Result(SUCCESS_CODE,SUCCESS_MESSAGE,null);
}
public static <T> Result<T> success(T data){
return new Result(SUCCESS_CODE,SUCCESS_MESSAGE,data);
}
public static <T> Result<T> success(String msg, T data){
return new Result(SUCCESS_CODE,msg,data);
}
public static Result error(CodeMsg codeMsg){
return new Result(codeMsg.getCode(),codeMsg.getMsg(),null);
}
public static Result defaultError(){
return new Result(ERROR_CODE,ERROR_MESSAGE,null);
}
public boolean hasError(){
//状态吗!=200 说明有错误.
return this.code!=SUCCESS_CODE;
}
}
二、全局异常处理
@Setter
@Getter
public class BusinessException extends RuntimeException {
private CodeMsg codeMsg;
public BusinessException(CodeMsg codeMsg){
this.codeMsg = codeMsg;
}
}
@RestControllerAdvice
public class CommonControllerAdvice {
@ExceptionHandler(BusinessException.class)
public Result handleBusinessException(BusinessException ex){
return Result.error(ex.getCodeMsg());
}
@ExceptionHandler(Exception.class)
public Result handleDefaultException(Exception ex){
ex.printStackTrace();//在控制台打印错误消息.
return Result.defaultError();
}
}
//其他的异常可以直接集成BusinessException就可以了
public class PhoneExistException extends BusinessException {
public PhoneExistException(CodeMsg codeMsg) {
super(codeMsg);
}
}
总结
今天分享就到这里,以后我会经常分享一些平时我觉得好用的工具类。🤝