分享一个简单高效通俗易懂工具类,代码如下✌
统一结果集返回🍓
在我们java平常的开发中,比较重要的一点就是对于接口的返回值的定义,因为基本大部分的api接口都需要一个统一的返回,这样调用方就比较好处理,逻辑也清晰,所以设计一个统一的返回就比较重要了
返回值的构成🍎
1. code🍔
code一般用来表示接口的调用情况,调用方可以根据code表判断这个接口的调用情况,
例如200 可以标识成功,500可以表示报错,110可以表示未登录,120可以表示没有权限…
自己定义规则就行
2.message🍌
msg表示提示信息
可以是成功的消息 success 新增成功 删除成功
也可以是失败的原因 error 没有权限 参数错误
等等
3.data🍆
些查询接口调用会有一个返回数据,用data来表示,工具类采用Object
代码实现👇
/**
* 统一返回值
*/
public class DataResult extends HashMap<String,Object> {
private static final long serialVersionUID = 1L;
//状态码
private int code;
//返回内容
private String msg;
//数据对象
private Object data;
/**
* 状态码
*/
public static final String CODE_TAG = "code";
/**
* 返回内容
*/
public static final String MSG_TAG = "msg";
/**
* 数据对象
*/
public static final String DATA_TAG = "data";
/**
* 初始化一个新创建的 DataResult 对象,使其表示一个空消息。
* @param
*/
public DataResult() {
}
/**
* 初始化一个新创建的 DataResult 对象
*
* @param code 状态码
* @param msg 返回内容
*/
public DataResult(int code, String msg) {
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
this.code=code;
this.msg=msg;
}
/**
* 初始化一个新创建的 DataResult 对象
*
* @param code 状态码
* @param msg 返回内容
* @param data 数据对象
*/
public DataResult(int code, String msg, Object data) {
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
this.code=code;
this.msg=msg;
if (!(data==null)) {
super.put(DATA_TAG, data);
this.data=data;
}
}
/**
* 返回成功消息
*
* @return 成功消息
*/
public static DataResult success() {
return DataResult.success("操作成功!");
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static DataResult success(String msg) {
return DataResult.success(msg, null);
}
/**
* 返回成功数据
*
* @return 成功消息
*/
public static DataResult success(Object data) {
return DataResult.success("操作成功!", data);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 成功消息
*/
public static DataResult success(String msg, Object data) {
return new DataResult(200, msg, data);
}
/**
* 返回错误消息
*
* @return
*/
public static DataResult error() {
return DataResult.error("操作失败!");
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static DataResult error(String msg) {
return DataResult.error(msg, null);
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static DataResult error(String msg, Object data) {
return new DataResult(500, msg, data);
}
/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static DataResult error(int code, String msg) {
return new DataResult(code, msg, null);
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}