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 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 ResultJson 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 + '\"'+ '}'; } }