统一请求的响应结果类构建

统一请求的响应结果

在企业级项目开发中,通常都会需要构建一个统一请求的响应结果类,来统一处理请求的响应结果。

定义统一请求的响应结果类

首先要明确的是:
1.请求的响应结果中必须携带的属性有哪些?
2.请求的响应结果中选择性携带的属性又有哪些?

//1.请求的响应结果中必须携带的属性
private boolean status; //操作状态,成功?失败?
private int code; //结果返回码,表示操作的具体情况,什么模块的请求(用户模块操作?企业模块操作?权限模块操作?)? 操作成功? 操作失败(失败类型是什么?没有权限?没有登录?服务器抛出异常?等等)?
private String message; //响应结果的描述性信息
//2.请求的响应结果中选择器携带的属性
private Object data; //返回的数据

构建统一请求的响应结果类

因为响应结果的类型实在太多了,在构建统一请求的响应结果类之前,我们先定义一个ResultCode帮助统一请求的响应结果类来收集各种响应结果的类型。

ResultCode

ResultCode:结果返回码对象

其中ResultCode包含通用模块的操作返回码、其他模块的操作返回码,比如用户模块的操作返回码、企业模块的操作返回码等等。

package com.ihrm.common.entity;
//结果返回码类
public enum ResultCode {
    //--模块通用的操作结果返回码--
    SUCCESS(true, 10000, "操作成功"),//通用的操作成功
    SERVER_ERROR(false, 99999, "抱歉,系统繁忙,请稍后重试"),//通用的操作失败,服务器抛出异常
    FAIL(false, 10001, "操作失败"),//通用的操作失败
    UNAUTHENTICATED(false,10002,"您还未登录"),//通用的操作失败,未登录
    UNAUTHORISE(false,10003,"权限不足"); //通用的操作失败,权限不够

    /**
     * 其他模块的操作结果返回码
     */
    //---用户操作返回码  2xxxx---- 用户操作成功?用户操作失败?
    //---企业操作返回码  3xxxx----
    //---权限操作返回码----
    //---其他操作返回码----

    private boolean status;
    private int code;
    private String message;

    ResultCode(boolean status, int code, String message) {
        this.status = status;
        this.code = code;
        this.message = message;
    }

    public boolean status() {
        return status;
    }

    public int code() {
        return code;
    }

    public String message() {
        return message;
    }
}

Result

Result是统一请求的响应结果类。

package com.ihrm.common.entity;
//统一请求的响应结果类
public class Result {
    private boolean status; //请求状态
    private int code; //响应状态码
    private String message; //返回响应的描述性信息
    private Object data; //返回数据

    public Result(ResultCode resultCode) {
        this.status = resultCode.status();
        this.code = resultCode.code();
        this.message = resultCode.message();
    }

    public Result(ResultCode resultCode, Object data) {
        this.status = resultCode.status();
        this.code = resultCode.code();
        this.message = resultCode.message();
        this.data = data;
    }

    /**
     模块通用的操作返回方法
     */
    public Result success() {
        return new Result(ResultCode.SUCCESS);
    }

    public Result success(Object data) {
        return new Result(ResultCode.SUCCESS, data);
    }

    public Result serverError() {
        return new Result(ResultCode.SERVER_ERROR);
    }

    public Result fail() {
        return new Result(ResultCode.FAIL);
    }

    public Result unauthenticated() {
        return new Result(ResultCode.UNAUTHENTICATED);
    }

    public Result unauthorise() {
        return new Result(ResultCode.UNAUTHORISE);
    }


    /**
     * 其他模块的操作返回方法
     */
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值