这篇文章主要介绍了JAVA错误类结果类和分页结果类代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
代码如下
public interface ErrorCode {
String getCode();
String getMsg();
/**
* 公共错误码<br/>
* 码段:10000~10099
*
*
*/
public enum CommonError implements ErrorCode {
SUCCESS("0", "success"),
UNKNOWN_ERROR("10000", "未知错误"),
SYSTEM_ERROR("10001", "系统内部处理异常[%s]"),
REQUEST_ERROR("10002", "请求地址或参数错误"),
DB_PROCESS_FAILED("10003", "数据库处理失败"),
DATA_NOT_FOUND("10004", "数据不存在"),
PARAM_REQUIRED("10005", "参数为空[%s]");
private String code;
private String msg;
private CommonError(String code, String msg) {
this.code = code;
this.msg = msg;
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getMsg() {
return this.msg;
}
public ErrorCode setParams(Object... params) {
this.msg = String.format(this.msg, params);
return this;
}
}
/**
* 接口错误码<br/>
* 码段:10100~10199
*
*/
public enum ApiError implements ErrorCode {
REQUEST_EMPTY("10100", "请求数据为空"),
API_NOT_EXISTS("10102", "接口不存在");
private String code;
private String msg;
private ApiError(String code, String msg) {
this.code = code;
this.msg = msg;
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getMsg() {
return this.msg;
}
}
}
ErrorCode error = CommonError.SYSTEM_ERROR.setParams(e.getCause().getMessage());
Result:
public class Result<T> {
public static final String SUCCESS = "0";
public static final String SCUCESS_MSG = "success";
private String result = SUCCESS;
private String msg = SCUCESS_MSG;
private T data;
public Result() {}
public Result(ErrorCode error, Object... msgParams) {
this.setError(error, msgParams);
}
public Result(ErrorCode error) {
this.setError(error);
}
public void setError(ErrorCode error, Object... msgParams) {
this.result = error.getCode();
this.msg = error.getMsg();
if (msgParams != null && msgParams.length > 0) {
this.msg = String.format(msg, msgParams);
}
}
public void setError(ErrorCode error) {
this.setError(error, new Object[] {});
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public boolean isSuccess() {
return SUCCESS.equals(result);
}
@Override
public String toString() {
return "Result [result=" + result + ", msg=" + msg + ", data=" + data + "]";
}
}
PageResult:
public class PageResult<T> {
public static final String SUCCESS = "0";
public static final String SCUCESS_MSG = "success";
private String result = SUCCESS;
private String msg = SCUCESS_MSG;
private Integer total = 0;
private List<T> rows = new ArrayList<>();
public PageResult() {}
public PageResult(ErrorCode error, Object... msgParams) {
this.setError(error, msgParams);
}
public PageResult(ErrorCode error) {
this.setError(error);
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
public List<T> getRows() {
return rows;
}
public void setRows(List<T> rows) {
this.rows = rows;
}
public void setError(ErrorCode error, Object... msgParams) {
this.result = error.getCode();
this.msg = error.getMsg();
if (msgParams != null && msgParams.length > 0) {
this.msg = String.format(msg, msgParams);
}
}
public void setError(ErrorCode error) {
this.setError(error, new Object[] {});
}
public boolean isSuccess() {
return SUCCESS.equals(result);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。