• SpringBoot 通用返回类设计


    在项目中通常需要为前端设计通过的返回类,返回的格式为:

    {
        "status": "success",
        "data": {...}
    }
    

    定义通过返回类:CommonReturnType

    /**
     * 通用返回结果类
     * 包含请求结果 status : "success" or "failed"
     * 包含请求数据 data : {}
     */
    public class CommonReturnType {
    
        // 表明对应请求的返回处理结果为: "success" or "failed"
        private String status;
    
        // 若status=success, 则data内返回前端需要的json数据
        // 若status=failed, 则data内使用通用的错误码格式
        private Object data;
    
        // 通用静态工厂方法
        public static CommonReturnType create(Object result){
            return CommonReturnType.create(result, "success");
        }
    
        // 封装返回数据data
        public static CommonReturnType create(Object result, String status){
            CommonReturnType returnType = new CommonReturnType();
            returnType.setStatus(status);
            returnType.setData(result);
            return returnType;
        }
    
    
        public String getStatus() {
            return status;
        }
    
        public void setStatus(String status) {
            this.status = status;
        }
    
        public Object getData() {
            return data;
        }
    
        public void setData(Object data) {
            this.data = data;
        }
    }
    

    在Controller中使用

        @GetMapping("/get")
        @ResponseBody
        public CommonReturnType getUser(@RequestParam(name = "id") Integer id) throws BusinessException {
    
            // 调用service服务获取对应id的用户对象并返回给前端
            UserModel userModel = userService.getUserById(id);
    
            // 获取对应的用户不存在
            if(userModel == null){
                throw new BusinessException(EnumBusinessError.USER_NOT_EXIST);
            }
    
            // 将核心领域模型用户对象转换为可供UI使用的ViewObject,而不是直接将UserModel返回给前端
            UserVO userVO = convertFromModel(userModel);
    
            // 返回通用对象
            return CommonReturnType.create(userVO);
        }
    
  • 相关阅读:
    mapcontrol的鼠标样式
    SQL SERVER数据类型与C#数据类型对照表
    正则表达式基元
    WPF中UserControl和DataTemplate
    [转]SQL三种获取自增长的ID方法
    [转]SQL Server 存储过程 一些常用用法(事物、异常捕捉、循环)
    Learn JavaScript(面向对象的程序设计01)
    CLR:基元类型、引用类型和值类型
    grid layout 相关代码
    css关于position的几个值
  • 原文地址:https://www.cnblogs.com/vincenshen/p/10422150.html
Copyright © 2020-2023  润新知