依赖

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>

原来使用的是

 public ResponseEntity<Result> queryAllEmergencyContact()

这种方式响应给前端的,方便设置响应码,同时给前端一个统一的状态提示和消息提示;

这里是Result结构
public class  Result implements Serializable {
    /**
     * 成功与否
     */
    @ApiModelProperty(value="成功与否",required = true)
    private Boolean flag;
    /**
     * 消息
     */
    @ApiModelProperty(value="消息",required = true)
    private String msg;
    /**
     * 数据
     */
    @ApiModelProperty(value="数据",required = true)
    private Object data;
}

发现使用这样的方式进行返回,数据到了前端确实可以随意取出使用,但是观看文档的人并不能清晰的看清楚json结构;使用这种响应的初衷就是为了方便前端,这样不能看清结构就有悖初衷了;
结果
所以改进了一下结构
首先改造了一下Result

public class  Result<T> implements Serializable {
    /**
     * 成功与否
     */
    @ApiModelProperty(value="成功与否",required = true)
    private Boolean flag;
    /**
     * 消息
     */
    @ApiModelProperty(value="消息",required = true)
    private String msg;
    /**
     * 数据
     */
    @ApiModelProperty(value="数据",required = true)
    private T data;
}

然后响应的时候

public ResponseEntity<Result<List<ECSettingUserView>>> queryAllEmergencyContact()

业务流程中的数据封装

return new Result<>(true,CodeEnum.SUCCESS.getErrorMessage(),allEmergencyContact);
//又或者是
Result<UserPUK> result=new Result<>(true,"操作成功",PUK)
return result
//集合型
Result<List<UserPUK>> result=new Result<>(true,"操作成功",PUKlist)
return result

这样knife4j就能正确识别文档结构了
success

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐