通用返回结果类

目录

1.R

2.Result

3.Result  有swagger

4.Result

ResultCodeEnum 


可以拿来改成自己想要的

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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值