package com.run.framework.common;
import java.util.HashMap;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* REST接口返回实体类
*
* @author YangFan
*/
public class RestResult<T> extends HashMap<String, Object> {
private static final long serialVersionUID = 1L;
public static final String CODE_TAG = "code";
public static final String MSG_TAG = "msg";
public static final String DATA_TAG = "data";
/**
* 状态类型
*/
public enum Type {
/**
* 成功
*/
SUCCESS(000),
/**
* 警告
*/
WARN(301),
/**
* 错误
*/
ERROR(500);
private final int value;
Type(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}
/**
* 状态类型
*/
private Type type;
/**
* 状态码
*/
private int code;
/**
* 返回内容
*/
private String msg;
/**
* 数据对象
*/
private T data;
/**
* 初始化一个新创建的 RestResult 对象,使其表示一个空消息。
*/
public RestResult() {
}
/**
* 初始化一个新创建的 RestResult 对象
*
* @param type 状态类型
* @param msg 返回内容
*/
public RestResult(Type type, String msg) {
super.put(CODE_TAG, type.value);
super.put(MSG_TAG, msg);
}
/**
* 初始化一个新创建的 RestResult 对象
*
* @param type 状态类型
* @param msg 返回内容
* @param data 数据对象
*/
public RestResult(Type type, String msg, T data) {
super.put(CODE_TAG, type.value);
super.put(MSG_TAG, msg);
if (data != null) {
super.put(DATA_TAG, data);
}
}
/**
* 返回成功消息
*
* @return 成功消息
*/
public static RestResult success() {
return RestResult.success("操作成功");
}
/**
* 返回成功数据
*
* @return 成功消息
*/
public static RestResult success(Object data) {
return RestResult.success("操作成功", data);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static RestResult success(String msg) {
return RestResult.success(msg, null);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 成功消息
*/
public static RestResult success(String msg, Object data) {
return new RestResult(Type.SUCCESS, msg, data);
}
/**
* 返回警告消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static RestResult warn(String msg) {
return RestResult.warn(msg, null);
}
/**
* 返回警告消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static RestResult warn(String msg, Object data) {
return new RestResult(Type.WARN, msg, data);
}
/**
* 返回错误消息
*
* @return
*/
public static RestResult error() {
return RestResult.error("操作失败");
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static RestResult error(String msg) {
return RestResult.error(msg, null);
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static RestResult error(String msg, Object data) {
return new RestResult(Type.ERROR, msg, data);
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
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 T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("code", getCode())
.append("msg", getMsg()).append("data", getData()).toString();
}
}
Rest接口返回统一工具类
猜你喜欢
转载自blog.csdn.net/qq_41953807/article/details/103735990
今日推荐
周排行