Bootstrap

swagger通用响应结果字段显示不全或返回数据类型不显示

目录

swagger版本

springboot版本

通用响应实体类

工具类

错误显示效果

正确显示效果

解决办法


swagger版本

使用knife4j- 4.5.0结合最新openapi3规范

        <!-- knife4j   使用openapi3规范  https://openapi.apifox.cn/   -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-spring-boot-starter</artifactId>
            <version>4.5.0</version>
        </dependency>

springboot版本

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.11</version>
    </parent>

通用响应实体类

@Data
@Schema
public class Dto<T> {

    @Schema(description = "状态码")
    private Integer code=200;

    @Schema(description="返回信息")
    private String message;

    @Schema(description="返回数据")
    private T data;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Schema(description="当前时间")
    private Date currentDate=new Date();

}

工具类

public class DtoUtil implements Serializable {


    /**
     *
     * @param
     * @return
     */
    public static Dto returnSuccess(){
        Dto dto=new Dto();
        dto.setMessage("success");
        return dto;
    }

    /**
     *
     * @param data 返回的数据对象 object类型
     * @return
     */
    public static Dto returnDataSuccess(Object data){
        Dto dto=new Dto();
        dto.setData(data);
        return dto;
    }

    public static Dto returnMsgSuccess(String msg){
        Dto dto=new Dto();
        dto.setData(msg);
        return dto;
    }

    /**
     *
     * @param message
     * @return
     */
    public static Dto returnFail(String message){
        Dto dto=new Dto();
        dto.setMessage(message);
        dto.setCode(500);
        return dto;
    }

    /**
     * @param message
     * @param
     * @return
     */
    public static Dto returnFailWithData(String message,Object data){
        Dto dto=new Dto();
        dto.setCode(500);
        dto.setMessage(message);
        dto.setData(data);
        return dto;
    }
}

错误显示效果

正确显示效果

解决办法

去除通用响应实体类上@Schema注解中相应参数或者删除实体类上该注解即可

;