目录
可以拿来改成自己想要的
1.R
package com.itheima.reggie.common;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* 通用返回结果,服务端响应的数据最终都会封装成此对象
* @param <T>
*/
@Data
public class R<T> {
private Integer code; //编码:1成功,0和其它数字为失败
private String msg; //错误信息
private T data; //数据
private Map map = new HashMap(); //动态数据
public static <T> R<T> success(T object) {
R<T> r = new R<T>();
r.data = object;
r.code = 1;
return r;
}
public static <T> R<T> error(String msg) {
R r = new R();
r.msg = msg;
r.code = 0;
return r;
}
public R<T> add(String key, Object value) {
this.map.put(key, value);
return this;
}
}
2.Result
package com.lpc.common;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lpc.enums.CodeEnum;
import lombok.Data;
import java.io.Serializable;
/**
* 接口返回数据格式
* @author scott
*/
@Data
public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 成功标志
*/
private boolean success = true;
/**
* 返回处理消息
*/
private String message = "操作成功!";
/**
* 返回代码
*/
private Integer code = 0;
/**
* 返回数据对象 data
*/
private T result;
//返回数据
private T data;
/**
* 时间戳
*/
private long timestamp = System.currentTimeMillis();
public Result(Integer code, String message, T result) {
this.code=code;
this.message=message;
this.result=result;
}
public Result() {
}
public Result<T> success(String message) {
this.message = message;
this.code = CodeEnum.SUCCESS.getCode();
this.success = true;
return this;
}
@Deprecated
public static Result<Object> ok() {
Result<Object> r = new Result<Object>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setMessage("成功");
return r;
}
@Deprecated
public static Result<Object> ok(String msg) {
Result<Object> r = new Result<Object>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setMessage(msg);
return r;
}
@Deprecated
public static Result<Object> ok(Object data) {
Result<Object> r = new Result<Object>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setResult(data);
return r;
}
public static<T> Result<T> OK() {
Result<T> r = new Result<T>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setMessage("成功");
return r;
}
public static<T> Result<T> OK(T data) {
Result<T> r = new Result<T>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
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(CodeEnum.SUCCESS.getCode());
r.setMessage(msg);
r.setResult(data);
return r;
}
public static Result error(String msg) {
return error(CodeEnum.FAILURE.getCode(), 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 = CodeEnum.FAILURE.getCode();
this.success = false;
return this;
}
protected static <T> Result<T> build(T data) {
Result<T> result = new Result<T>();
if (data != null)
result.setData(data);
return result;
}
@JsonIgnore
private String onlTable;
}
package com.lpc.enums;
/**
* @ClassName CodeEnum
* @Description 状态码
*/
public enum CodeEnum {
/**
* 处理成功
*/
SUCCESS(200, "成功"),
/**
* 处理失败
*/
FAILURE(422, "处理失败"),
/**
* 处理失败
*/
PERMISSION_DENIED(403, "权限不足"),
/**
*
*/
QR_LOGIN_NOT_SUCCESS(1000, "未登录成功"),
/**
*
*/
QR_LOGIN_OVERDUE(1001, "二维码已过期,请重新刷新"),
/**
* 全局异常
*/
ERROR_1002(1002, "服务器错误,请联系管理员"),
/**
* 缺少必要参数
*/
ERROR_1004(1004, "缺少必要参数"),
/**
* 参数类型错误
*/
ERROR_1005(1005, "参数类型错误"),
/**
* 日期转换异常
*/
ERROR_1006(1006, "日期格式错误"),
/**
* 没有权限,请联系管理员授权
*/
SC_JEECG_NO_AUTHZ(510, "没有权限,请联系管理员授权"),
/**
* 数据库中已存在该记录
*/
ERROR_1007(1007, "数据库中已存在该记录"),
/**
* 路径不存在,请检查路径是否正确
*/
ERROR_404(404, "路径不存在,请检查路径是否正确"),
/**
* token失效
*/
ERROR_1008(1008, "Token失效,请重新登录!"),
/**
* 用户不存在
*/
ERROR_1009(1009, "用户不存在"),
/**
* 账号锁定
*/
ERROR_1010(1010, "账号锁定"),
/**
* 指纹登录轮训请求,未登录成功
*/
FINGERPRINT_LOGIN_NOT_SUCCESS(1011, "未登录成功");
private final Integer code;
private final String msg;
CodeEnum(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public String getMsg() {
return msg;
}
/**
* 根据 value 值反推 GlobalError
*
* @param value
* @return
*/
public static CodeEnum valueOf(int value) {
for (CodeEnum right : CodeEnum.values()) {
if (value == right.code) {
return right;
}
}
return null;
}
}
3.Result 有swagger
package com.dabai.transmit.model;
import com.dabai.transmit.enums.CodeEnum;
import com.dabai.transmit.enums.ResultCodeEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 接口返回数据格式
* @author scott
*/
@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;
//返回数据
private T data;
/**
* 时间戳
*/
@ApiModelProperty(value = "时间戳")
private long timestamp = System.currentTimeMillis();
public Result(Integer code, String message, T result) {
this.code=code;
this.message=message;
this.result=result;
}
public Result() {
}
public Result<T> success(String message) {
this.message = message;
this.code = CodeEnum.SUCCESS.getCode();
this.success = true;
return this;
}
@Deprecated
public static Result<Object> ok() {
Result<Object> r = new Result<Object>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setMessage("成功");
return r;
}
@Deprecated
public static Result<Object> ok(String msg) {
Result<Object> r = new Result<Object>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setMessage(msg);
return r;
}
@Deprecated
public static Result<Object> ok(Object data) {
Result<Object> r = new Result<Object>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setResult(data);
return r;
}
public static<T> Result<T> OK() {
Result<T> r = new Result<T>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
r.setMessage("成功");
return r;
}
public static<T> Result<T> OK(T data) {
Result<T> r = new Result<T>();
r.setSuccess(true);
r.setCode(CodeEnum.SUCCESS.getCode());
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(CodeEnum.SUCCESS.getCode());
r.setMessage(msg);
r.setResult(data);
return r;
}
public static Result error(String msg) {
return error(CodeEnum.FAILURE.getCode(), 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 = CodeEnum.FAILURE.getCode();
this.success = false;
return this;
}
/**
* 无权限访问返回结果
*/
public static Result<Object> noauth(String msg) {
return error(CodeEnum.PERMISSION_DENIED.getCode(), msg);
}
@JsonIgnore
private String onlTable;
}
package com.dabai.transmit.enums;
/**
* @ClassName CodeEnum
* @Description 状态码
*/
public enum CodeEnum {
/**
* 处理成功
*/
SUCCESS(200, "成功"),
/**
* 处理失败
*/
FAILURE(422, "处理失败"),
/**
* 处理失败
*/
PERMISSION_DENIED(403, "权限不足"),
/**
*
*/
QR_LOGIN_NOT_SUCCESS(1000, "未登录成功"),
/**
*
*/
QR_LOGIN_OVERDUE(1001, "二维码已过期,请重新刷新"),
/**
* 全局异常
*/
ERROR_1002(1002, "服务器错误,请联系管理员"),
/**
* 缺少必要参数
*/
ERROR_1004(1004, "缺少必要参数"),
/**
* 参数类型错误
*/
ERROR_1005(1005, "参数类型错误"),
/**
* 日期转换异常
*/
ERROR_1006(1006, "日期格式错误"),
/**
* 没有权限,请联系管理员授权
*/
SC_JEECG_NO_AUTHZ(510, "没有权限,请联系管理员授权"),
/**
* 数据库中已存在该记录
*/
ERROR_1007(1007, "数据库中已存在该记录"),
/**
* 路径不存在,请检查路径是否正确
*/
ERROR_404(404, "路径不存在,请检查路径是否正确"),
/**
* token失效
*/
ERROR_1008(1008, "Token失效,请重新登录!"),
/**
* 用户不存在
*/
ERROR_1009(1009, "用户不存在"),
/**
* 账号锁定
*/
ERROR_1010(1010, "账号锁定"),
/**
* 指纹登录轮训请求,未登录成功
*/
FINGERPRINT_LOGIN_NOT_SUCCESS(1011, "未登录成功");
private final Integer code;
private final String msg;
CodeEnum(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public String getMsg() {
return msg;
}
/**
* 根据 value 值反推 GlobalError
*
* @param value
* @return
*/
public static CodeEnum valueOf(int value) {
for (CodeEnum right : CodeEnum.values()) {
if (value == right.code) {
return right;
}
}
return null;
}
}
4.Result
package com.atguigu.common.result;
import lombok.Data;
@Data
public class Result<T> {
//返回码
private Integer code;
//返回消息
private String message;
//返回数据
private T data;
public Result(){}
// 返回数据
protected static <T> Result<T> build(T data) {
Result<T> result = new Result<T>();
if (data != null)
result.setData(data);
return result;
}
public static <T> Result<T> build(T body, Integer code, String message) {
Result<T> result = build(body);
result.setCode(code);
result.setMessage(message);
return result;
}
public static <T> Result<T> build(T body, ResultCodeEnum resultCodeEnum) {
Result<T> result = build(body);
result.setCode(resultCodeEnum.getCode());
result.setMessage(resultCodeEnum.getMessage());
return result;
}
public static<T> Result<T> ok(){
return Result.ok(null);
}
/**
* 操作成功
* @param data baseCategory1List
* @param <T>
* @return
*/
public static<T> Result<T> ok(T data){
Result<T> result = build(data);
return build(data, ResultCodeEnum.SUCCESS);
}
public static<T> Result<T> fail(){
return Result.fail(null);
}
/**
* 操作失败
* @param data
* @param <T>
* @return
*/
public static<T> Result<T> fail(T data){
Result<T> result = build(data);
return build(data, ResultCodeEnum.FAIL);
}
public Result<T> message(String msg){
this.setMessage(msg);
return this;
}
public Result<T> code(Integer code){
this.setCode(code);
return this;
}
}
ResultCodeEnum
package com.atguigu.common.result;
import lombok.Getter;
@Getter
public enum ResultCodeEnum {
SUCCESS(200,"成功"),
FAIL(201, "失败"),
SERVICE_ERROR(2012, "服务异常"),
DATA_ERROR(204, "数据异常"),
ILLEGAL_REQUEST(205, "非法请求"),
REPEAT_SUBMIT(206, "重复提交"),
ARGUMENT_VALID_ERROR(210, "参数校验异常"),
LOGIN_AUTH(208, "未登陆"),
PERMISSION(209, "没有权限"),
ACCOUNT_ERROR(214, "账号不正确"),
PASSWORD_ERROR(215, "密码不正确"),
LOGIN_MOBLE_ERROR( 216, "账号不正确"),
ACCOUNT_STOP( 217, "账号已停用"),
NODE_ERROR( 218, "该节点下有子节点,不可以删除")
;
private Integer code;
private String message;
private ResultCodeEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}