• Java 封装通用 web 服务端响应客户端数据的结果类


    文章归档:https://www.yuque.com/u27599042/coding_star/

    ResponseCodeEnum

    响应状态码枚举类

    依赖

    1. lombok
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>3.1.3version>
    parent>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
    dependency>
    
    • 1
    • 2
    • 3
    • 4

    源码

    /**
     * 响应状态码枚举类
     */
    @Getter
    public enum ResponseCodeEnum {
    
        /**
         * 成功
         */
        OK(200, "成功"),
        /**
         * 客户端请求错误
         */
        ERROR(400, "客户端请求错误"),
        /**
         * 无法找到相应资源
         */
        NOT_FOUND(404, "找不到相应资源"),
        /**
         * 服务器错误
         */
        SERVER_ERROR(500, "服务端错误");
    
        /**
         * 响应状态码
         */
        private final Integer code;
        /**
         * 响应描述信息
         */
        private final String message;
    
        /**
         * 响应状态码枚举类构造器
         *
         * @param code 响应状态码
         */
        private ResponseCodeEnum(Integer code, String message) {
            this.code = code;
            this.message = message;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    BaseResponseResult

    用于封装响应客户端数据的基本结果类

    依赖

    1. StringUtil:https://www.yuque.com/u27599042/coding_star/st621zwyepp3yyee
    2. lombok
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>3.1.3version>
    parent>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
    dependency>
    
    • 1
    • 2
    • 3
    • 4

    源码

    import java.io.Serial;
    import java.io.Serializable;
    
    /**
     * 用于封装响应客户端数据的基本结果类
     *
     * @param  结果数据类型
     */
    @Getter
    @Setter
    public class BaseResponseResult<T> implements Serializable {
    
        @Serial
        private static final long serialVersionUID = 1L;
    
        /**
         * 响应状态码
         */
        private Integer code;
    
        /**
         * 响应信息
         */
        private String message;
    
        /**
         * 响应结果数据
         */
        private T data;
    
        /**
         * 构造响应结果对象
         */
        public BaseResponseResult() {
        }
    
        /**
         * 构造指定状态码的响应结果对象
         *
         * @param code 响应状态码
         */
        public BaseResponseResult(Integer code) {
            this.code = code;
        }
    
        /**
         * 构造指定状态码和响应信息的结果对象
         *
         * @param code 响应状态码
         * @param msg  响应信息
         */
        public BaseResponseResult(Integer code, String msg) {
            this.code = code;
            this.message = msg;
        }
    
        /**
         * 构造指定状态码和响应数据的结果对象
         *
         * @param code 响应状态码
         * @param data 响应数据
         */
        public BaseResponseResult(Integer code, T data) {
            this.code = code;
            this.data = data;
        }
    
        /**
         * 构造指定状态码、响应信息和响应数据的结果对象
         *
         * @param code    响应状态码
         * @param message 响应信息
         * @param data    响应数据
         */
        public BaseResponseResult(Integer code, String message, T data) {
            this.code = code;
            this.message = message;
            this.data = data;
        }
    
        /**
         * 响应结果
         *
         * @param code    响应状态码
         * @param message 响应信息
         * @param data    响应数据
         * @return 响应结果对象
         */
        public static BaseResponseResult<Object> responseResult(Integer code, String message, Object data) {
            BaseResponseResult<Object> baseResponseResult = new BaseResponseResult<>(code);
            if (!StringUtil.isNull(message)) baseResponseResult.setMessage(message);
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96

    OkResponseResult

    用于封装成功响应结果的响应结果类

    依赖

    1. ResponseCodeEnum:https://www.yuque.com/u27599042/coding_star/yxmiq0yidih0wqsu
    2. StringUtil:https://www.yuque.com/u27599042/coding_star/st621zwyepp3yyee

    源码

    /**
     * 用于封装成功响应结果的响应结果类
     */
    public class OkResponseResult extends BaseResponseResult {
    
        /**
         * 成功响应
         *
         * @return 成功响应对象
         */
        public static BaseResponseResult<Object> okResult() {
            return new BaseResponseResult<>(ResponseCodeEnum.OK.getCode(), ResponseCodeEnum.OK.getMessage());
        }
    
        /**
         * 成功响应
         *
         * @param okMessage 成功响应信息
         * @return 成功响应对象
         */
        public static BaseResponseResult<Object> okResult(String okMessage) {
            BaseResponseResult<Object> baseResponseResult = okResult();
            if (!StringUtil.isNull(okMessage)) baseResponseResult.setMessage(okMessage);
            return baseResponseResult;
        }
    
        /**
         * 成功响应
         *
         * @param data 响应数据
         * @return 成功响应对象
         */
        public static BaseResponseResult<Object> okResult(Object data) {
            BaseResponseResult<Object> baseResponseResult = okResult();
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
        /**
         * 成功响应
         *
         * @param message 成功响应信息
         * @param data    响应数据
         * @return 成功响应对象
         */
        public static BaseResponseResult<Object> okResult(String message, Object data) {
            BaseResponseResult<Object> baseResponseResult = okResult();
            if (!StringUtil.isNull(message)) baseResponseResult.setMessage(message);
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    ClientErrorResponseResult

    用于封装由于客户端导致的失败响应结果的响应结果类

    依赖

    1. ResponseCodeEnum:https://www.yuque.com/u27599042/coding_star/yxmiq0yidih0wqsu
    2. StringUtil:https://www.yuque.com/u27599042/coding_star/st621zwyepp3yyee

    源码

    /**
     * 用于封装由于客户端导致的失败响应结果的响应结果类
     */
    public class ClientErrorResponseResult extends BaseResponseResult {
    
        /**
         * 由于客户端导致的失败响应
         *
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult() {
            return new BaseResponseResult<>(ResponseCodeEnum.ERROR.getCode(), ResponseCodeEnum.ERROR.getMessage());
        }
    
        /**
         * 由于客户端导致的失败响应
         *
         * @param errorMessage 失败响应信息
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult(String errorMessage) {
            BaseResponseResult<Object> baseResponseResult = errorResult();
            if (!StringUtil.isNull(errorMessage)) baseResponseResult.setMessage(errorMessage);
            return baseResponseResult;
        }
    
        /**
         * 由于客户端导致的失败响应
         *
         * @param data 响应数据
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult(Object data) {
            BaseResponseResult<Object> baseResponseResult = errorResult();
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
        /**
         * 由于客户端导致的失败响应
         *
         * @param message 失败响应信息
         * @param data    响应数据
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult(String message, Object data) {
            BaseResponseResult<Object> baseResponseResult = errorResult();
            if (!StringUtil.isNull(message)) baseResponseResult.setMessage(message);
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    ServerErrorResponseResult

    用于封装由于服务端导致的失败响应结果的响应结果类

    依赖

    1. ResponseCodeEnum:https://www.yuque.com/u27599042/coding_star/yxmiq0yidih0wqsu
    2. StringUtil:https://www.yuque.com/u27599042/coding_star/st621zwyepp3yyee

    源码

    /**
     * 用于封装由于服务端导致的失败响应结果的响应结果类
     */
    public class ServerErrorResponseResult extends BaseResponseResult {
    
        /**
         * 由于服务端导致的失败响应
         *
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult() {
            return new BaseResponseResult<>(ResponseCodeEnum.SERVER_ERROR.getCode(), ResponseCodeEnum.SERVER_ERROR.getMessage());
        }
    
        /**
         * 由于服务端导致的失败响应
         *
         * @param errorMessage 失败响应信息
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult(String errorMessage) {
            BaseResponseResult<Object> baseResponseResult = errorResult();
            if (!StringUtil.isNull(errorMessage)) baseResponseResult.setMessage(errorMessage);
            return baseResponseResult;
        }
    
        /**
         * 由于服务端导致的失败响应
         *
         * @param data 响应数据
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult(Object data) {
            BaseResponseResult<Object> baseResponseResult = errorResult();
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
        /**
         * 由于服务端导致的失败响应
         *
         * @param message 失败响应信息
         * @param data    响应数据
         * @return 失败响应对象
         */
        public static BaseResponseResult<Object> errorResult(String message, Object data) {
            BaseResponseResult<Object> baseResponseResult = errorResult();
            if (!StringUtil.isNull(message)) baseResponseResult.setMessage(message);
            if (data != null) baseResponseResult.setData(data);
            return baseResponseResult;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
  • 相关阅读:
    MyBatis Plus详细教程
    逍遥自在学C语言 | 位运算符的基础用法
    二、鼎捷T100之MDS(Master Demand Schedule)计算
    Centos脚本编程一例,程序运行提示菜单、自动查杀进程和后台运行
    Springboot整合ElasticSearch(1)- 环境搭建 -非自动注入的方式
    最大异或和【可持久化Trie】
    3.eureka的常用application.yml设置(springcloud)
    【云原生】DevOps 新纪元 | 史前的惨淡现实
    电商API接口汇总,引领企业国际化
    【MindSpore易点通】一站式指南
  • 原文地址:https://blog.csdn.net/m0_53022813/article/details/134021222