• 通用返回结果类ResultVO


    1. 定义通用返回结果

    ​ 定义ResultVO类,作返回给前端的对象结构,主要有4个字段

    • code : 错误码
    • data : 内容
    • message : 消息
    • description : 具体描述
    import lombok.Data;
    import java.io.Serializable;
    
    /**
     * 通用返回结果类
     * @param 
     */
    @Data
    public class ResultVO<T> implements Serializable {
    
        /**
         * 错误码
         */
        private int code;
        /**
         * 内容
         */
        private T data;
        /**
         * 消息
         */
        private String message;
        /**
         * 描述
         */
        private String description;
    
        public ResultVO(int code, T data, String message, String description) {
            this.code = code;
            this.data = data;
            this.message = message;
            this.description = description;
        }
    
        public ResultVO(int code, T data) {
            this(code,data,"","");
        }
    
        public ResultVO(int code, T data, String message) {
            this(code,data,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
    • 44

    2 工具类

    /**
     * 通用返回响应工具类
     *
     * @author leovany
     * @date 2023/09/23
     */
    public class ResultUtils {
    
        /**
         * 成功
         *
         * @param data 数据
         * @return {@link ResultVO}<{@link T}>
         */
        public static <T> ResultVO<T> success(T data) {
            return new ResultVO<T>(0, data, "success");
        }
    
        /**
         * 错误
         *
         * @param code        错误码
         * @param message     信息
         * @param description 描述
         * @return {@link ResultVO}
         */
        public static ResultVO error(int code, String message, String description) {
            return new ResultVO<>(code, null, message, description);
        }
    
    }
    
    • 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

    3 使用

    • 返回值用 ResultVO封装
    • 成功返回:ResultUtils.success(XX);
    • 失败失败:ResultUtils.error(code,message,description);
    @PostMapping("/login")
    public ResultVO<User> userLogin(@RequestBody UserLoginRequest userLoginRequest, HttpServletRequest request) {
        String userAccount = userLoginRequest.getUserAccount();
        String userPassword = userLoginRequest.getUserPassword();
        // 参数校验
        if (StringUtils.isAnyBlank(userAccount, userPassword)) {
            return ResultUtils.error(40000,"参数错误","参数不能为空");
        }
        // 从数据库查找用户
        User user = userService.doLogin(userAccount, userPassword, request);
        return ResultUtils.success(user);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    跟之前对比,代码更加优雅

    image-20230923222714691

    4 返回给前端效果图

    返回给前端的响应结果

    {
        "code": 0,
        "data": {
            "id": 10,
            "username": "admin"
        },
        "message": "success",
        "description": ""
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 成功

    image-20230923224002931

    • 失败

    image-20230923223108281

    总结

    ​ 通过封装ResultVO通用返回结果对象之后,保证了后端跟前端视图对象(VO)的统一。

  • 相关阅读:
    ActiveReportsJS 3.1中文版|||ActiveReportsJS 3.1英文版
    Java毕业设计-网上宠物店系统
    uni-app —— 下拉刷新 & 上拉加载
    ngrok实现内网穿透window下,vue项目invalid host header报错
    系列二、什么是OOM?什么是StackOverflowError?有哪些方法分析?
    如何编写高质量和可维护的C++代码?
    中国芯片金字塔成形,商业化拐点将至
    网页大作业代码自取
    IP-Guard申请外发流程说明步骤
    3D异常检测论文笔记 | Shape-Guided Dual-Memory Learning for 3D Anomaly Detection
  • 原文地址:https://blog.csdn.net/leovnay/article/details/133220624