高複用性響應物件類
阿新 • • 發佈:2018-12-11
ServerResponse響應類:
import com.cxsz.ibosspro.common.constant.ResultCode; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Getter; import lombok.Setter; import java.io.Serializable; //保證序列化的時候,如果為null,key也會消失 @JsonInclude(JsonInclude.Include.NON_NULL) @Getter @Setterpublic class ServerResponse<T> implements Serializable { private int status; private String msg; private T data; public ServerResponse() { } public ServerResponse(int status){ this.status = status; } public ServerResponse(int status, String msg){this.status = status; this.msg = msg; } public ServerResponse(int status, T data){ this.status = status; this.data = data; } public ServerResponse(int status, String msg, T data){ this.status = status; this.msg = msg; this.data = data; }//使之不在json序列化結果當中 @JsonIgnore public boolean isSuccess(){ return this.status == ResultCode.SUCCESS; } public int getStatus(){ return status; } public T getData(){ return data; } public String getMsg(){ return msg; } public static <T> ServerResponse<T> createBySuccess(){ return new ServerResponse<T>(ResultCode.SUCCESS); } public static <T> ServerResponse<T> createBySuccessMassage(String msg){ return new ServerResponse<T>(ResultCode.SUCCESS, msg); } public static <T> ServerResponse<T> createBySuccess(T data){ return new ServerResponse<T>(ResultCode.SUCCESS, data); } public static <T> ServerResponse<T> createBySuccess(String msg, T data){ return new ServerResponse<T>(ResultCode.SUCCESS, msg, data); } public static <T> ServerResponse<T> createByError(){ return new ServerResponse<T>(ResultCode.FAIL); } public static <T> ServerResponse<T> createByError(String msg){ return new ServerResponse<T>(ResultCode.FAIL, msg); } public static <T> ServerResponse<T> createByErrorCodeMessage(int errorcode, String msg){ return new ServerResponse<T>(errorcode, msg); } }
常量類:
/** * HTTP請求返回狀態碼 * * @author xxxx */ public class ResultCode { /** * 成功 */ public static final int SUCCESS = 0; /** * 失敗 */ public static final int FAIL = -1; /** * 無許可權 */ public static final int NO_AUTH = -2; }