package com.nova.sankuai.infra.utils;
|
|
import com.nova.sankuai.infra.constants.ResultCode;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
|
import java.io.Serializable;
|
|
/**
|
* @author weikangdi
|
* RESTful API 返回类型
|
* Created at 2018/3/8.
|
*/
|
@Data
|
public class ResultJson<T> implements Serializable{
|
|
private static final long serialVersionUID = 783015033603078674L;
|
|
@ApiModelProperty(value = "返回代码")
|
private int code;
|
|
@ApiModelProperty(value = "返回处理消息")
|
private String msg;
|
|
@ApiModelProperty(value = "返回数据对象")
|
private T data;
|
|
public static ResultJson success() {
|
return new ResultJson(ResultCode.SUCCESS);
|
}
|
|
public static <T> ResultJson<T> ok(T o) {
|
return new ResultJson<>(ResultCode.SUCCESS, o);
|
}
|
|
public static ResultJson failure(ResultCode code) {
|
return failure(code, "");
|
}
|
|
public static ResultJson failure(ResultCode code, Object o) {
|
return new ResultJson(code, o);
|
}
|
|
|
public ResultJson(ResultCode resultCode) {
|
setResultCode(resultCode);
|
}
|
|
public ResultJson(ResultCode resultCode, T data) {
|
setResultCode(resultCode);
|
this.data = data;
|
}
|
|
public void setResultCode(ResultCode resultCode) {
|
this.code = resultCode.getCode();
|
this.msg = resultCode.getMsg();
|
}
|
|
@Override
|
public String toString() {
|
return "{" +
|
"\"code\":" + code +
|
", \"msg\":\"" + msg + '\"' +
|
", \"data\":\"" + data + '\"'+
|
'}';
|
}
|
}
|