zoukankan      html  css  js  c++  java
  • Java项目返回数据封装 + swagger2

    1,封装返回数据对象

    package com.yw.common.util;
    
    import io.swagger.annotations.ApiModelProperty;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Result<T> {
    
        @ApiModelProperty(value = "状态码")
        private Integer code;
        @ApiModelProperty(value = "响应信息")
        private String msg;
        @ApiModelProperty(value = "数据")
        private T data;
    }

    这里要使用泛型,不能用Object,否则swagger2配置ui界面无法解读data中的数据

    2,ResultUtil.java

    package com.yw.common.util;
    
    
    
    /**
     * @Author zl
     * @Description 
     * @Date 2020/11/1 19:55  
     */
    public class ResultUtil {
        
        protected enum ResultEnum {
            SUCCESS(20000, "success"),
            FAIL(50000, "fail"),;
            ;
            private Integer code;
            private String msg;
    
            ResultEnum(Integer code, String msg) {
                this.code = code;
                this.msg = msg;
            }
    
            public Integer getCode() {
                return code;
            }
    
            public String getMsg() {
                return msg;
            }
        }
    
        /**成功且带数据**/
        public static <T> Result<T> success(T object){
            Result<T> result = new Result<T>();
            result.setCode(ResultEnum.SUCCESS.getCode());
            result.setMsg(ResultEnum.SUCCESS.getMsg());
            result.setData(object);
            return result;
        }
        /**成功但不带数据**/
        public static <T>Result<T> success(){
    
            return success(null);
        }
        /**失败**/
        public static <T> Result<T> fail(Integer code, String msg){
            Result<T> result = new Result<T>();
            result.setCode(code);
            result.setMsg(msg);
            return result;
        }
    
        /**失败**/
        public static <T> Result<T> fail(){
            Result<T> result = new Result<T>();
            result.setCode(ResultEnum.SUCCESS.getCode());
            result.setMsg(ResultEnum.SUCCESS.getMsg());
            return result;
        }
    
    }

    3,待返回的封装对象

    package com.yw.model.resp.equipment;
    
    import io.swagger.annotations.ApiModelProperty;
    import lombok.Data;
    
    /**
     * @Author zl
     * @Description
     * @Data 2020/10/30 14:48
     */
    @Data
    public class ComplexityResp {
        @ApiModelProperty(value = "体系复杂度")
        private double clusterCoefficient;
        @ApiModelProperty(value = "网络密度")
        private double networkDensity;
        @ApiModelProperty(value = "平均距离")
        private double averageDistance;
        @ApiModelProperty(value = "体系复杂度")
        private double complexityInfluenceDegree;
    }

    4,controller方法 和 swagger2界面

    @ApiOperation("返回体系复杂度特性影响度数值")
    @PostMapping("/complexityInfluenceDegree")
    public Result<ComplexityResp> complexityInfluenceDegree(@ApiParam("体系复杂度请求数据")@RequestBody(required = false)ComplexityReq complexityData) {
            
        return equipmentService.complexityInfluenceDegree(complexityData);
    }

  • 相关阅读:
    React Native 触摸事件处理详解
    ReactNative iOS源码解析
    windows CMD命令大全及详细解释和语法
    Node.js的全局对象和全局变量
    移动端HTML5<video>视频播放优化实践
    HTML和CSS代码片段快速编写方式(Emmet Documentation)
    animate.css官网
    Gradle在大型Java项目上的应用
    Gradle学习系列
    Gradle -- buildScript块与allprojects块及根级别的repositories区别
  • 原文地址:https://www.cnblogs.com/zhulei2/p/13910974.html
Copyright © 2011-2022 走看看