fix github #155;fix list param torna example error

This commit is contained in:
xingzi 2021-10-30 21:39:25 +08:00
parent d65938c63e
commit b2b5a21775
9 changed files with 17 additions and 31 deletions

View File

@ -64,7 +64,7 @@ public class AdocDocBuilder {
*/ */
public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) { public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
config.setParamsDataToTree(false); config.setParamsDataToTree(false);
config.setAdoc(true); config.setAdoc(true);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
@ -91,7 +91,7 @@ public class AdocDocBuilder {
config.setAdoc(false); config.setAdoc(false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, new JavaProjectBuilder()); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, new JavaProjectBuilder());
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
builderTemplate.buildSingleApi(configBuilder, controllerName, API_DOC_ADOC_TPL, API_EXTENSION); builderTemplate.buildSingleApi(configBuilder, controllerName, API_DOC_ADOC_TPL, API_EXTENSION);
} }
} }

View File

@ -62,7 +62,7 @@ public class ApiDocBuilder {
*/ */
public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) { public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
config.setAdoc(false); config.setAdoc(false);
config.setParamsDataToTree(false); config.setParamsDataToTree(false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
@ -91,7 +91,7 @@ public class ApiDocBuilder {
JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder(); JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder();
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
builderTemplate.buildSingleApi(configBuilder, controllerName, API_DOC_MD_TPL, API_EXTENSION); builderTemplate.buildSingleApi(configBuilder, controllerName, API_DOC_MD_TPL, API_EXTENSION);
} }
} }

View File

@ -58,9 +58,9 @@ public class BaseDocBuilderTemplate {
* *
* @param config Api config * @param config Api config
*/ */
public void checkAndInit(ApiConfig config) { public void checkAndInit(ApiConfig config,boolean torna) {
this.checkAndInitForGetApiData(config); this.checkAndInitForGetApiData(config);
if (StringUtil.isEmpty(config.getOutPath())) { if (StringUtil.isEmpty(config.getOutPath())&&!torna) {
throw new RuntimeException("doc output path can't be null or empty"); throw new RuntimeException("doc output path can't be null or empty");
} }
} }

View File

@ -72,7 +72,7 @@ public class HtmlApiDocBuilder {
*/ */
public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) { public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
config.setParamsDataToTree(false); config.setParamsDataToTree(false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework()); IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());

View File

@ -51,7 +51,7 @@ public class OpenApiBuilder {
public static void buildOpenApi(ApiConfig config) { public static void buildOpenApi(ApiConfig config) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder(); JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder();
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
openApiCreate(config, configBuilder); openApiCreate(config, configBuilder);
@ -65,7 +65,7 @@ public class OpenApiBuilder {
*/ */
public static void buildOpenApi(ApiConfig config, JavaProjectBuilder projectBuilder) { public static void buildOpenApi(ApiConfig config, JavaProjectBuilder projectBuilder) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, projectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, projectBuilder);
openApiCreate(config, configBuilder); openApiCreate(config, configBuilder);
} }

View File

@ -61,7 +61,7 @@ public class PostmanJsonBuilder {
*/ */
public static void buildPostmanCollection(ApiConfig config) { public static void buildPostmanCollection(ApiConfig config) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder(); JavaProjectBuilder javaProjectBuilder = new JavaProjectBuilder();
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
postManCreate(config, configBuilder); postManCreate(config, configBuilder);
@ -75,7 +75,7 @@ public class PostmanJsonBuilder {
*/ */
public static void buildPostmanCollection(ApiConfig config, JavaProjectBuilder projectBuilder) { public static void buildPostmanCollection(ApiConfig config, JavaProjectBuilder projectBuilder) {
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,false);
config.setParamsDataToTree(false); config.setParamsDataToTree(false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, projectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, projectBuilder);
postManCreate(config, configBuilder); postManCreate(config, configBuilder);

View File

@ -75,7 +75,7 @@ public class TornaBuilder {
public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) { public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) {
config.setParamsDataToTree(true); config.setParamsDataToTree(true);
DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config); builderTemplate.checkAndInit(config,true);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder); ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework()); IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder); List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);

View File

@ -61,7 +61,7 @@ public class RpcDocBuilderTemplate extends BaseDocBuilderTemplate {
if (StringUtil.isEmpty(config.getFramework())) { if (StringUtil.isEmpty(config.getFramework())) {
config.setFramework(FrameworkEnum.DUBBO.getFramework()); config.setFramework(FrameworkEnum.DUBBO.getFramework());
} }
super.checkAndInit(config); super.checkAndInit(config,false);
config.setOutPath(config.getOutPath() + FILE_SEPARATOR + RPC_OUT_DIR); config.setOutPath(config.getOutPath() + FILE_SEPARATOR + RPC_OUT_DIR);
} }

View File

@ -1160,25 +1160,11 @@ public class SpringBootDocBuildTemplate implements IDocBuildTemplate<ApiDoc> {
simpleGicType = gicType.substring(gicType.lastIndexOf(".") + 1).toLowerCase(); simpleGicType = gicType.substring(gicType.lastIndexOf(".") + 1).toLowerCase();
// is array // is array
if (JavaClassValidateUtil.isCollection(name) || JavaClassValidateUtil.isArray(name)) { if (JavaClassValidateUtil.isCollection(name) || JavaClassValidateUtil.isArray(name)) {
boolean hasRequestBody = false; apiMethodDoc.setIsRequestArray(1);
//param has @RequestBody ? if (JavaClassValidateUtil.isPrimitive(gicType)) {
List<JavaAnnotation> annotations = parameter.getAnnotations(); apiMethodDoc.setRequestArrayType(simpleGicType);
for (JavaAnnotation annotation : annotations) {
if (REQUEST_BODY_FULLY.equals(annotation.getType().getName())) {
hasRequestBody = true;
break;
}
}
//formData - multiple data
if (!hasRequestBody && javaParameters.size() > 1) {
return;
} else { } else {
apiMethodDoc.setIsRequestArray(1); apiMethodDoc.setRequestArrayType(OBJECT);
if (JavaClassValidateUtil.isPrimitive(gicType)) {
apiMethodDoc.setRequestArrayType(simpleGicType);
} else {
apiMethodDoc.setRequestArrayType(OBJECT);
}
} }
} }
} }