java api 接口返回封装
java api 接口返回封装
/** * 接口返回数据格式 * @author QY * @date 2018年11月11日 */ @Data @ApiModel(value="接口返回对象", description="接口返回对象") public class Result<T> implements Serializable { private static final long serialVersionUID = 1L; /** * 成功标志 */ @ApiModelProperty(value = "成功标志") private boolean success = true; /** * 返回处理消息 */ @ApiModelProperty(value = "返回处理消息") private String message = ""; /** * 返回代码 */ @ApiModelProperty(value = "返回代码") private Integer code = 0; /** * 返回数据对象 data */ @ApiModelProperty(value = "返回数据对象") private T result; /** * 时间戳 */ @ApiModelProperty(value = "时间戳") private long timestamp = System.currentTimeMillis(); public Result() { } /** * 兼容VUE3版token失效不跳转登录页面 * @param code * @param message */ public Result(Integer code,String message) { this.code = code; this.message = message; } public Result<T> success(String message) { this.message = message; this.code = 200; this.success = true; return this; } public static<T> Result<T> OK() { Result<T> r = new Result<T>(); r.setSuccess(true); r.setCode(200); return r; } public static<T> Result<T> OK(String msg) { Result<T> r = new Result<T>(); r.setSuccess(true); r.setCode(200); r.setMessage(msg); //Result OK(String msg)方法会造成兼容性问题 issues/I4IP3D r.setResult((T) msg); return r; } public static<T> Result<T> OK(T data) { Result<T> r = new Result<T>(); r.setSuccess(true); r.setCode(200); r.setResult(data); return r; } public static<T> Result<T> OK(String msg, T data) { Result<T> r = new Result<T>(); r.setSuccess(true); r.setCode(200); r.setMessage(msg); r.setResult(data); return r; } public static<T> Result<T> error(String msg, T data) { Result<T> r = new Result<T>(); r.setSuccess(false); r.setCode(500); r.setMessage(msg); r.setResult(data); return r; } public static Result<Object> error(String msg) { return error(500, msg); } public static Result<Object> error(int code, String msg) { Result<Object> r = new Result<Object>(); r.setCode(code); r.setMessage(msg); r.setSuccess(false); return r; } public Result<T> error500(String message) { this.message = message; this.code = 500; this.success = false; return this; } /** * 无权限访问返回结果 */ public static Result<Object> noauth(String msg) { return error(510, msg); } @JsonIgnore private String onlTable; }