使用Object统一返回结果data时如何使knife4j能够识别结构
原来使用的是public ResponseEntity<Result> queryAllEmergencyContact()这种方式响应给前端的,方便设置响应码,同时给前端一个统一的状态提示和消息提示;这里是Result结构public classResult implements Serializable {/*** 成功与否*/@ApiModelProperty(value="成功
·
依赖
<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就能正确识别文档结构了
更多推荐
已为社区贡献9条内容
所有评论(0)