状态码封装--转载


转载jeebase-WANGLEI并做补充

一. 常量封装

/**
 * @author jeebase-WANGLEI
 * @ClassName: PublicResultConstant
 * @Description: TODO
 * @date 2018年5月18日 下午11:49:45
 */
public enum ResponseConstant {
    /**
     * 成功 20x
     */
    // 成功 服务器已经成功处理了请求。通常,这表示服务器提供了请求的网页。
    SUCCESS_200(200, "success"),
    // 已创建 请求成功并且服务器创建了新的资源。
    SUCCESS_201(201, "success"),
    //已接受 服务器已接受请求,但尚未处理。
    SUCCESS_202(202, "尚未处理"),
    // 重置内容 服务器成功处理了请求,但没有返回任何内容。
    SUCCESS_205(205, "服务器成功处理了请求,但没有返回任何内容"),

    /**
     * 异常 40x
     */
    // 错误请求 服务器不理解请求的语法。
    FAILED_400(400, "错误请求"),
    // -未授权 请求要求身份验证。 token过期
    UNAUTHORIZED_401(401, "未授权"),
    // 禁止 服务器拒绝请求。
    FAILED_403(403, "服务器拒绝请求"),
    // 未找到 服务器到不到请求的网页。
    FAILED_404(404, "服务器到不到请求的网页"),
    // 408-请求超时 服务器等候请求时发生超时。
    FAILED_408(408, "请求超时"),
    /**
     * 服务器错误 50x
     */
    // 服务器内部错误
    SERVER_ERROR_500(500,"服务器内部错误"),
    //服务器不可用 服务器目前无法使用(由于超载或者停机维护)。
    SERVER_ERROR_503(503,"服务器不可用"),
    /**
     * 操作失败
     */
    ERROR(90000000, "操作失败"),
    /**
     * 参数错误
     */
    PARAM_ERROR(90000003, "参数错误"),
    /**
     * 验证码错误
     */
    INVALID_RE_VCODE(10000011, "验证码错误"),
    /**
     * 用户名或密码错误
     */
    INVALID_USERNAME_PASSWORD(10000003, "账号或密码错误"),
    /**
     *
     */
    INVALID_RE_PASSWORD(10000010, "两次输入密码不一致"),
    /**
     * 用户名或密码错误
     */
    INVALID_PASSWORD(10000009, "旧密码错误"),
    /**
     * 用户名重复
     */
    USERNAME_ALREADY_IN(10000002, "用户已存在"),
    /**
     * 用户不存在
     */
    INVALID_USER(10000001, "用户不存在"),
    /**
     * 角色不存在
     */
    INVALID_ROLE(10000004, "角色不存在"),
    /**
     * 角色不存在
     */
    ROLE_USER_USED(10000008, "角色使用中,不可删除"),
    /**
     * 参数错误-已存在
     */
    INVALID_PARAM_EXIST(10000005, "请求参数已存在"),
    /**
     * 参数错误
     */
    INVALID_PARAM_EMPTY(10000006, "请求参数为空"),
    /**
     * 没有权限
     */
    USER_NO_PERMITION(10000007, "当前用户无该接口权限");


    public int result;

    public String msg;

    ResponseConstant(int result, String msg) {
        this.result = result;
        this.msg = msg;
    }

    public int getResult() {
        return result;
    }

    public void setResult(int result) {
        this.result = result;
    }

    public String getMsg() {
        return msg;
    }

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


二. 返回状态码封装

转载Acerola;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author Acerola
 */
@Data
@AllArgsConstructor
public class Result<T> {

    private int code;

    private String msg;

    private T data;

    public Result() {

    }

    public Result(T data) {
        this.data = data;
    }

    /**
     * 返回成功
     */
    public Result<T> success() {
        return success("操作成功!");
    }

    /**
     * 返回成功
     */
    public Result<T> success(String message) {
        return success(200, message);
    }

    /**
     * 文件上传成功
     *
     * @param data
     * @param
     * @return
     */
    public Result<T> fileSuccess(T data) {
        Result<T> result = new Result<>(data);
        result.setCode(0);
        result.setMsg("成功");
        return result;
    }

    /**
     * 返回成功
     */
    public Result<T> success(ResponseConstant constant) {
        return success(constant.getResult(), constant.getMsg());
    }
    /**
     * 返回成功
     */
    public Result<T> success(int code, String message) {
        this.setCode(code);
        this.setMsg(message);
        return this;
    }

    /**
     * 返回失败
     */
    public Result<T> error() {
        return error("操作失败!");
    }

    /**
     * 返回失败
     */
    public Result<T> error(String messag) {
        return error(500, messag);
    }

    /**
     * 返回失败
     */
    public Result<T> error(int code, String message) {
        return success(code, message);
    }

    /**
     * 返回信息
     */
    public Result<T> error(ResponseConstant constant) {
        return success(constant.getResult(), constant.getMsg());
    }

    /**
     * 放入object
     */
    public Result<T> put(T object) {
        this.setData(object);
        return this;
    }

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最难不过坚持丶渊洁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值