Java返回结果集封装

1、返回消息统一定义文件ResultCode.java

package com.woniuxy.springboot_mybatis.util;
public enum  ResultCode implements IErrorCode {
    SUCCESS(200,"操作成功"),
    FAILED(500,"操作失败"),
    VALIDATE_FAILED(404,"参数检验失败"),
    UNAUTHORIZED(401,"暂未登陆或相关token已经过期"),
    FORBIDDEN(403,"没有相关权限");
    private long code;
    private String msg;

    ResultCode(long code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    @Override
    public long getCode() {
        return code;
    }

    @Override
    public String getMessage() {
        return msg;
    }
}

interface IErrorCode {
    long getCode();

    String getMessage();
}

2、返回结果集封装:ReturnResult.java

  • 应用泛型可以返回任何的结果集
package com.woniuxy.springboot_mybatis.util;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

/**
 * Created by lanyao on 2020/8/28
 */
public class ReturnResult<T> implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "响应码")
    private long code;
    @ApiModelProperty(value = "数据")
    private T data;
    @ApiModelProperty(value = "信息")
    private String msg;

    public ReturnResult() {
        this.code=ResultCode.SUCCESS.getCode();
        this.msg=ResultCode.SUCCESS.getMessage();
    }

    public ReturnResult(long code, String msg, T data) {
        this.code = code;
        this.data = data;
        this.msg = msg;
    }

    public ReturnResult(T data) {
        this.code = ResultCode.SUCCESS.getCode();
        this.data = data;
    }

    public ReturnResult(long code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public long getCode() {
        return code;
    }

    public void setCode(long code) {
        this.code = code;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }


    public ReturnResult Msg(String msg){
        this.setMsg(msg);
        return this;
    }


    public ReturnResult Code(long code){
        this.setCode(code);
        return this;
    }


    public ReturnResult Data(T data){
        this.setData(data);
        return this;
    }

    /**
     * 返回默认状态
     */
    public static <T> ReturnResult<T> successed() {
        return new ReturnResult<>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage());
    }

    /**
     * 成功返回
     *
     * @param data
     * @return
     */
    public static <T> ReturnResult<T> successed(T data) {
        return new ReturnResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
    }

    /**
     * 失败返回结果
     *
     * @param errorCode
     * @param <T>
     * @return
     */
    public static <T> ReturnResult<T> failed(IErrorCode errorCode) {
        return new ReturnResult(errorCode.getCode(), errorCode.getMessage(), null);
    }

    /**
     * 返回失败状态
     *
     * @param msg
     * @return
     */
    public static <T> ReturnResult<T> failed(String msg) {
        return failed(ResultCode.FAILED);
    }


    /**
     * 参数验证失败
     *
     * @param <T>
     * @return
     */
    public static <T> ReturnResult<T> validateFailed() {
        return failed(ResultCode.VALIDATE_FAILED);
    }

    /**
     * 参数验证失败,返回信息
     *
     * @param msg
     * @param <T>
     * @return
     */
    public static <T> ReturnResult<T> validateFailed(String msg) {
        return new ReturnResult<>(ResultCode.VALIDATE_FAILED.getCode(), msg);
    }

    /**
     * 未登录返回结果 。 token过期..
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> ReturnResult<T> unauthorized(T data) {
        return new ReturnResult<>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);
    }

    /**
     * 未授权返回结果
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> ReturnResult<T> forbiden(T data) {
        return new ReturnResult<>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值