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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM