修改测试样例

This commit is contained in:
Forget 2021-03-15 17:00:58 +08:00
parent 59eeb5ebdc
commit f514501fec
4 changed files with 29 additions and 8 deletions

View File

@ -243,7 +243,12 @@ public class OpenApiBuilder {
if (!isRep && apiMethodDoc.getContentType().equals(DocGlobalConstants.MULTIPART_TYPE)) { if (!isRep && apiMethodDoc.getContentType().equals(DocGlobalConstants.MULTIPART_TYPE)) {
// formdata // formdata
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("type", "object"); if(apiMethodDoc.isListParam()) {
map.put("type", DocGlobalConstants.ARRAY);
}
else {
map.put("type", "object");
}
Map<String, Object> properties = new LinkedHashMap<>(); Map<String, Object> properties = new LinkedHashMap<>();
Map<String, Object> detail; Map<String, Object> detail;
for (ApiParam apiParam : apiMethodDoc.getQueryParams()) { for (ApiParam apiParam : apiMethodDoc.getQueryParams()) {
@ -261,7 +266,6 @@ public class OpenApiBuilder {
} else { } else {
detail.put("format", "binary"); detail.put("format", "binary");
} }
} }
properties.put(apiParam.getField(), detail); properties.put(apiParam.getField(), detail);
} }
@ -289,13 +293,11 @@ public class OpenApiBuilder {
Map<String, Object> schema = new HashMap<>(10); Map<String, Object> schema = new HashMap<>(10);
//当类型为数组时使用 //当类型为数组时使用
Map<String, Object> innerScheme = new HashMap<>(10); Map<String, Object> innerScheme = new HashMap<>(10);
//去除url中的特殊字符 //去除url中的特殊字符
String responseRef = "#/components/schemas/" + apiMethodDoc.getPath().replaceAll(PATH_REGEX, "_") + "response"; String responseRef = "#/components/schemas/" + apiMethodDoc.getPath().replaceAll(PATH_REGEX, "_") + "response";
String requestRef = "#/components/schemas/" + apiMethodDoc.getPath().replaceAll(PATH_REGEX, "_") + "request"; String requestRef = "#/components/schemas/" + apiMethodDoc.getPath().replaceAll(PATH_REGEX, "_") + "request";
//如果是数组类型 //如果是数组类型
if(DocGlobalConstants.ARRAY.equals(apiMethodDoc.getType())){ if(apiMethodDoc.isListParam()){
schema.put("type",DocGlobalConstants.ARRAY); schema.put("type",DocGlobalConstants.ARRAY);
if (isRep) { if (isRep) {
innerScheme.put("$ref", responseRef); innerScheme.put("$ref", responseRef);

View File

@ -182,6 +182,19 @@ public class ApiMethodDoc implements Serializable {
*/ */
private String page = ""; private String page = "";
/**
* 是否为List数据 openApi
*/
private boolean listParam = false;
public boolean isListParam() {
return listParam;
}
public void setListParam(boolean listParam) {
this.listParam = listParam;
}
public String getMethodId() { public String getMethodId() {
return methodId; return methodId;
} }

View File

@ -320,6 +320,10 @@ public class SpringBootDocBuildTemplate implements IDocBuildTemplate<ApiDoc> {
String simpleTypeName = javaType.getValue(); String simpleTypeName = javaType.getValue();
typeName = DocClassUtil.rewriteRequestParam(typeName); typeName = DocClassUtil.rewriteRequestParam(typeName);
gicTypeName = DocClassUtil.rewriteRequestParam(gicTypeName); gicTypeName = DocClassUtil.rewriteRequestParam(gicTypeName);
//if params is collection
if(JavaClassValidateUtil.isCollection(typeName)){
apiMethodDoc.setListParam(true);
}
JavaClass javaClass = configBuilder.getJavaProjectBuilder().getClassByName(typeName); JavaClass javaClass = configBuilder.getJavaProjectBuilder().getClassByName(typeName);
String[] globGicName = DocClassUtil.getSimpleGicName(gicTypeName); String[] globGicName = DocClassUtil.getSimpleGicName(gicTypeName);
String comment = this.paramCommentResolve(paramsComments.get(paramName)); String comment = this.paramCommentResolve(paramsComments.get(paramName));

View File

@ -44,7 +44,8 @@ public class ApiDocTest {
//不指定SourcePaths默认加载代码为项目src/main/java下的 //不指定SourcePaths默认加载代码为项目src/main/java下的
config.setSourceCodePaths( config.setSourceCodePaths(
SourceCodePath.builder().setDesc("本项目代码") SourceCodePath.builder().setDesc("本项目代码")
.setPath("C:\\Users\\xingzi\\Desktop\\api-doc-test\\src\\main\\java") .setPath("C:\\Users\\xingzi\\Desktop\\api-doc-test")
//SourcePath.path().setPath("F:\\Personal\\project\\smart\\src\\main\\java") //SourcePath.path().setPath("F:\\Personal\\project\\smart\\src\\main\\java")
//SourcePath.path().setDesc("加载项目外代码").setPath("E:\\ApplicationPower\\ApplicationPower\\Common-util\\src\\main\\java") //SourcePath.path().setDesc("加载项目外代码").setPath("E:\\ApplicationPower\\ApplicationPower\\Common-util\\src\\main\\java")
); );
@ -66,6 +67,7 @@ public class ApiDocTest {
CustomRespField.builder().setName("code").setValue("00000") CustomRespField.builder().setName("code").setValue("00000")
//.setDesc("响应代码") //.setDesc("响应代码")
); );
config.setPackageFilters("com.power.doc.controller.UserController");
//非必须只有当setAllInOne设置为true时文档变更记录才生效https://gitee.com/sunyurepository/ApplicationPower/issues/IPS4O //非必须只有当setAllInOne设置为true时文档变更记录才生效https://gitee.com/sunyurepository/ApplicationPower/issues/IPS4O
config.setRevisionLogs( config.setRevisionLogs(
RevisionLog.builder().setRevisionTime("2018/12/15").setAuthor("chen").setRemarks("测试").setStatus("创建").setVersion("V1.0"), RevisionLog.builder().setRevisionTime("2018/12/15").setAuthor("chen").setRemarks("测试").setStatus("创建").setVersion("V1.0"),
@ -74,9 +76,9 @@ public class ApiDocTest {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
// OpenApiBuilder.buildOpenApi(config);
//HtmlApiDocBuilder.buildApiDoc(config);
TornaBuilder.buildApiDoc(config); TornaBuilder.buildApiDoc(config);
OpenApiBuilder.buildOpenApi(config);
long end = System.currentTimeMillis(); long end = System.currentTimeMillis();
DateTimeUtil.printRunTime(end, start); DateTimeUtil.printRunTime(end, start);
} }