From 1612f8f1ce7928856d967714d8ea789c10aa6675 Mon Sep 17 00:00:00 2001 From: linwumingshi Date: Sun, 21 Jan 2024 17:45:52 +0800 Subject: [PATCH] feat: don't create config file when the increment is false;Improve the java doc comment --- .../ly/doc/builder/DocBuilderTemplate.java | 4 ++ .../com/ly/doc/builder/WordDocBuilder.java | 6 +- .../openapi/AbstractOpenApiBuilder.java | 30 ++++++-- .../dict/DictionaryValuesResolver.java | 3 + .../com/ly/doc/helper/DocBuildHelper.java | 12 ++-- src/main/java/com/ly/doc/model/ApiConfig.java | 18 +++-- src/main/java/com/ly/doc/model/IDoc.java | 4 +- .../doc/model/dependency/DependencyTree.java | 11 ++- src/main/java/com/ly/doc/utils/DocUtil.java | 2 +- .../java/com/ly/doc/utils/JavaClassUtil.java | 1 + src/main/java/com/ly/doc/utils/TornaUtil.java | 70 ++++++++++--------- 11 files changed, 104 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/ly/doc/builder/DocBuilderTemplate.java b/src/main/java/com/ly/doc/builder/DocBuilderTemplate.java index a75a287e4..33b434633 100644 --- a/src/main/java/com/ly/doc/builder/DocBuilderTemplate.java +++ b/src/main/java/com/ly/doc/builder/DocBuilderTemplate.java @@ -95,6 +95,7 @@ public void buildApiDoc(List apiDocList, ApiConfig config, String templa * @param doc api doc * @param config api config * @param template template + * @return Template */ public Template buildApiDocTemplate(ApiDoc doc, ApiConfig config, String template) { Template mapper = BeetlTemplateUtil.getByName(template); @@ -130,6 +131,7 @@ public void buildAllInOne(List apiDocList, ApiConfig config, JavaProject * @param template template * @param apiDoc apiDoc * @param index index html + * @return Template */ public Template buildAllRenderDocTemplate(List apiDocList, ApiConfig config, JavaProjectBuilder javaProjectBuilder, String template, ApiDoc apiDoc, String index) { @@ -305,6 +307,7 @@ public void buildErrorCodeDoc(ApiConfig config, String template, String outPutFi * @param config api config * @param template template * @param javaProjectBuilder javaProjectBuilder + * @return template */ public Template buildErrorCodeDocTemplate(ApiConfig config, String template, JavaProjectBuilder javaProjectBuilder) { List errorCodeList = DocUtil.errorCodeDictToList(config, javaProjectBuilder); @@ -418,6 +421,7 @@ public void buildDirectoryDataDoc(ApiConfig config, JavaProjectBuilder javaProje * @param config api config * @param javaProjectBuilder JavaProjectBuilder * @param template template + * @return Template */ public Template buildDirectoryDataDocTemplate(ApiConfig config, JavaProjectBuilder javaProjectBuilder, String template) { List directoryList = DocUtil.buildDictionary(config, javaProjectBuilder); diff --git a/src/main/java/com/ly/doc/builder/WordDocBuilder.java b/src/main/java/com/ly/doc/builder/WordDocBuilder.java index 33c110ba7..cd4b8cee5 100644 --- a/src/main/java/com/ly/doc/builder/WordDocBuilder.java +++ b/src/main/java/com/ly/doc/builder/WordDocBuilder.java @@ -57,6 +57,7 @@ public class WordDocBuilder { * build controller api * * @param config config + * @throws Exception exception */ public static void buildApiDoc(ApiConfig config) throws Exception { JavaProjectBuilder javaProjectBuilder = JavaProjectBuilderHelper.create(); @@ -67,6 +68,8 @@ public static void buildApiDoc(ApiConfig config) throws Exception { * build controller api * * @param config config + * @param javaProjectBuilder javaProjectBuilder + * @throws Exception exception */ public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectBuilder) throws Exception { DocBuilderTemplate builderTemplate = new DocBuilderTemplate(); @@ -105,6 +108,7 @@ public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectB * * @param content doc content * @param docxOutputPath docx output path + * @throws Exception exception * @since 1.0.0 */ public static void copyAndReplaceDocx(String content, String docxOutputPath) throws Exception { @@ -118,7 +122,7 @@ public static void copyAndReplaceDocx(String content, String docxOutputPath) thr while ((entry = zipInputStream.getNextEntry()) != null) { String entryName = entry.getName(); - if (entryName.equals("word/document.xml")) { + if ("word/document.xml".equals(entryName)) { zipOutputStream.putNextEntry(new ZipEntry(entryName)); byte[] bytes = content.getBytes(StandardCharsets.UTF_8); zipOutputStream.write(bytes, 0, bytes.length); diff --git a/src/main/java/com/ly/doc/builder/openapi/AbstractOpenApiBuilder.java b/src/main/java/com/ly/doc/builder/openapi/AbstractOpenApiBuilder.java index f22c5f2a0..a8008df28 100644 --- a/src/main/java/com/ly/doc/builder/openapi/AbstractOpenApiBuilder.java +++ b/src/main/java/com/ly/doc/builder/openapi/AbstractOpenApiBuilder.java @@ -24,18 +24,18 @@ package com.ly.doc.builder.openapi; -import com.ly.doc.constants.ComponentTypeEnum; -import com.ly.doc.model.*; -import com.power.common.util.CollectionUtil; -import com.power.common.util.StringUtil; import com.ly.doc.builder.DocBuilderTemplate; import com.ly.doc.builder.ProjectDocConfigBuilder; +import com.ly.doc.constants.ComponentTypeEnum; import com.ly.doc.constants.DocGlobalConstants; import com.ly.doc.factory.BuildTemplateFactory; +import com.ly.doc.model.*; import com.ly.doc.model.openapi.OpenApiTag; import com.ly.doc.template.IDocBuildTemplate; import com.ly.doc.utils.DocUtil; import com.ly.doc.utils.OpenApiSchemaUtil; +import com.power.common.util.CollectionUtil; +import com.power.common.util.StringUtil; import com.thoughtworks.qdox.JavaProjectBuilder; import java.util.*; @@ -85,6 +85,8 @@ public void setComponentKey(String componentKey) { * response body * * @param apiMethodDoc ApiMethodDoc + * @param apiConfig ApiConfig + * @return Map of response body */ abstract Map buildResponsesBody(ApiConfig apiConfig, ApiMethodDoc apiMethodDoc); @@ -101,13 +103,14 @@ public void setComponentKey(String componentKey) { * @param apiConfig Configuration of smart-doc * @param apiDocList List of API DOC * @param tags tags + * @return Map of paths */ public Map buildPaths(ApiConfig apiConfig, List apiDocList, Set tags) { Map pathMap = new HashMap<>(500); Set methodDocs = DocMapping.METHOD_DOCS; for (ApiMethodDoc methodDoc : methodDocs) { - String [] paths = methodDoc.getPath().split(";"); - for(String path : paths) { + String[] paths = methodDoc.getPath().split(";"); + for (String path : paths) { path = path.trim(); Map request = buildPathUrls(apiConfig, methodDoc, methodDoc.getClazzDoc()); if (!pathMap.containsKey(path)) { @@ -135,6 +138,7 @@ public Map buildPaths(ApiConfig apiConfig, List apiDocLi * @param apiConfig ApiConfig * @param apiMethodDoc Method * @param apiDoc ApiDoc + * @return Map of path urls */ public Map buildPathUrls(ApiConfig apiConfig, ApiMethodDoc apiMethodDoc, ApiDoc apiDoc) { Map request = new HashMap<>(4); @@ -148,6 +152,7 @@ public Map buildPathUrls(ApiConfig apiConfig, ApiMethodDoc apiMe * @param apiConfig ApiConfig * @param apiMethodDoc ApiMethodDoc * @param isRep is response + * @return Map of content */ public Map buildContent(ApiConfig apiConfig, ApiMethodDoc apiMethodDoc, boolean isRep) { Map content = new HashMap<>(8); @@ -166,6 +171,7 @@ public Map buildContent(ApiConfig apiConfig, ApiMethodDoc apiMet * @param apiConfig ApiConfig * @param apiMethodDoc ApiMethodDoc * @param isRep is response + * @return Map of content */ public Map buildContentBody(ApiConfig apiConfig, ApiMethodDoc apiMethodDoc, boolean isRep) { Map content = new HashMap<>(8); @@ -193,6 +199,7 @@ public Map buildContentBody(ApiConfig apiConfig, ApiMethodDoc ap * * @param apiMethodDoc ApiMethodDoc * @param isRep is response + * @return Map of schema */ public Map buildBodySchema(ApiMethodDoc apiMethodDoc, boolean isRep) { Map schema = new HashMap<>(10); @@ -237,6 +244,7 @@ public Map buildBodySchema(ApiMethodDoc apiMethodDoc, boolean is * * @param apiMethodDoc ApiMethodDoc * @param isRep is response + * @return Map of content */ public static Map buildBodyExample(ApiMethodDoc apiMethodDoc, boolean isRep) { Map content = new HashMap<>(8); @@ -250,6 +258,7 @@ public static Map buildBodyExample(ApiMethodDoc apiMethodDoc, bo * * @param apiMethodDoc ApiMethodDoc * @param isRep is response + * @return Map of content */ public static Map buildExampleData(ApiMethodDoc apiMethodDoc, boolean isRep) { Map content = new HashMap<>(8); @@ -314,6 +323,7 @@ public Map buildParametersSchema(ApiParam apiParam) { * If the header is included, set the request parameters * * @param header header + * @return parameters schema */ public static Map buildParametersSchema(ApiReqParam header) { Map schema = new HashMap<>(10); @@ -327,6 +337,7 @@ public static Map buildParametersSchema(ApiReqParam header) { * build response * * @param apiMethodDoc ApiMethodDoc + * @param apiConfig ApiConfig * @return response info */ public Map buildResponses(ApiConfig apiConfig, ApiMethodDoc apiMethodDoc) { @@ -339,13 +350,17 @@ public Map buildResponses(ApiConfig apiConfig, ApiMethodDoc apiM * component schema * * @param apiDocs List of ApiDoc + * @return component schema Map */ abstract public Map buildComponentsSchema(List apiDocs); /** * component schema properties * - * @param apiParam list of ApiParam + * @param apiParam list of ApiParam + * @param component component + * @param isResp is response + * @return properties */ public Map buildProperties(List apiParam, Map component, boolean isResp) { Map properties = new HashMap<>(); @@ -454,6 +469,7 @@ private Map buildPropertiesData(ApiParam apiParam, Map getOpenApiDocs(ApiConfig config, JavaProjectBuilder projectBuilder) { config.setShowJavaType(false); diff --git a/src/main/java/com/ly/doc/extension/dict/DictionaryValuesResolver.java b/src/main/java/com/ly/doc/extension/dict/DictionaryValuesResolver.java index f5adce8d5..737b6909f 100644 --- a/src/main/java/com/ly/doc/extension/dict/DictionaryValuesResolver.java +++ b/src/main/java/com/ly/doc/extension/dict/DictionaryValuesResolver.java @@ -35,6 +35,7 @@ public interface DictionaryValuesResolver { * default behaviour is the same as {@link #resolve()} * * @param clazz dictionary class + * @param the type parameter * @return the dictionary */ default Collection resolve(Class clazz) { @@ -45,6 +46,8 @@ default Collection resolve(Class clazz) { * resolve the dictionary, for compatibility, do not return null * * @see #resolve(Class) + * @param the type parameter + * @return the dictionary */ default Collection resolve() { return Collections.emptyList(); diff --git a/src/main/java/com/ly/doc/helper/DocBuildHelper.java b/src/main/java/com/ly/doc/helper/DocBuildHelper.java index 6951413ca..e651ad71e 100644 --- a/src/main/java/com/ly/doc/helper/DocBuildHelper.java +++ b/src/main/java/com/ly/doc/helper/DocBuildHelper.java @@ -82,8 +82,9 @@ public static DocBuildHelper create(ProjectDocConfigBuilder configBuilder) { DocBuildHelper helper = new DocBuildHelper(); helper.projectBuilder = configBuilder.getJavaProjectBuilder(); helper.codePath = codePath; + // when is git repo if (helper.gitHelper.isGitRepo()) { - helper.dependencyTree = DependencyTree.detect(baseDir); + helper.dependencyTree = DependencyTree.detect(baseDir, apiConfig.isIncrement()); } return helper; @@ -157,7 +158,7 @@ private List mergeDependencyTree(List newDependenc deletedClazz.contains(dependency.getClazz()) || deprecatedClazz.contains(dependency.getClazz()) || deprecatedClazz.stream().anyMatch(deprecate -> - dependency.getDerivedClazz().contains(deprecate)) + dependency.getDerivedClazz().contains(deprecate)) ); // replace the old dependency tree with new dependency @@ -185,12 +186,15 @@ private List mergeDependencyTree(List newDependenc /** * Find and gather classes and their dependencies. - *
+ *

* When a class is modified within the git tree, and it is part of an endpoint argument or return value, * this method will also include the classes containing these endpoints classes. - *
+ *

* If all modified classes are not part of the API dependency tree (e.g., they are services or mappers), * this method will return an empty collection, as they do not impact the API documentation. + * + * @param isEntryPoint the entry point predicate + * @return the set of changed files */ public Set getChangedFilesFromVCS(Predicate isEntryPoint) { String commitId = dependencyTree.getCommitId(); diff --git a/src/main/java/com/ly/doc/model/ApiConfig.java b/src/main/java/com/ly/doc/model/ApiConfig.java index 33de5e540..d8185f615 100644 --- a/src/main/java/com/ly/doc/model/ApiConfig.java +++ b/src/main/java/com/ly/doc/model/ApiConfig.java @@ -20,17 +20,17 @@ */ package com.ly.doc.model; +import com.ly.doc.constants.ComponentTypeEnum; +import com.ly.doc.constants.DocLanguage; +import com.ly.doc.handler.ICustomJavaMethodHandler; +import com.ly.doc.model.rpc.RpcApiDependency; +import com.power.common.util.CollectionUtil; + import java.util.List; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import com.ly.doc.constants.ComponentTypeEnum; -import com.ly.doc.model.rpc.RpcApiDependency; -import com.power.common.util.CollectionUtil; -import com.ly.doc.constants.DocLanguage; -import com.ly.doc.handler.ICustomJavaMethodHandler; - /** * Description: * api config info @@ -367,14 +367,17 @@ public class ApiConfig { /** * build random component for openApi + * * @see ComponentTypeEnum */ private ComponentTypeEnum componentType = ComponentTypeEnum.RANDOM; /** * whether to build the doc incrementally + * + * @since 3.0.0 */ - private boolean increment; + private boolean increment = Boolean.FALSE; /** * the doc module absolute path, used for dependency tree file @@ -383,6 +386,7 @@ public class ApiConfig { /** * upload api split number + * * @since 3.0.2 */ private Integer apiUploadNums; diff --git a/src/main/java/com/ly/doc/model/IDoc.java b/src/main/java/com/ly/doc/model/IDoc.java index 173dfb17e..8acebed55 100644 --- a/src/main/java/com/ly/doc/model/IDoc.java +++ b/src/main/java/com/ly/doc/model/IDoc.java @@ -29,11 +29,13 @@ public interface IDoc { /** * doc class qualified name + * @return class qualified name */ String getDocClass(); /** - * + * get doc methods + * @return methods */ List getMethods(); diff --git a/src/main/java/com/ly/doc/model/dependency/DependencyTree.java b/src/main/java/com/ly/doc/model/dependency/DependencyTree.java index 1d2cdc140..ad55d5871 100644 --- a/src/main/java/com/ly/doc/model/dependency/DependencyTree.java +++ b/src/main/java/com/ly/doc/model/dependency/DependencyTree.java @@ -68,17 +68,24 @@ private DependencyTree() { * Create or Load dependency tree config. * * @param baseDir the dependency tree config file base directory + * @param isIncrement whether increment build * @return DependencyTree */ - public static DependencyTree detect(String baseDir) { + public static DependencyTree detect(String baseDir, boolean isIncrement) { DependencyTree dependencyTree; File configFile = new File(baseDir + File.separator + CONFIG_NAME); - if (!configFile.exists()) { + // the config file no exists + boolean fileNoExists = !configFile.exists(); + if (fileNoExists) { dependencyTree = Support.create(configFile); } else { dependencyTree = Support.load(configFile); } + // if file no exists, and not increment build, delete the config file after build + if (fileNoExists && !isIncrement) { + configFile.delete(); + } return dependencyTree; } diff --git a/src/main/java/com/ly/doc/utils/DocUtil.java b/src/main/java/com/ly/doc/utils/DocUtil.java index a7e502941..908be090c 100644 --- a/src/main/java/com/ly/doc/utils/DocUtil.java +++ b/src/main/java/com/ly/doc/utils/DocUtil.java @@ -1197,7 +1197,7 @@ public static boolean substringMatch(CharSequence str, int index, CharSequence s * split url by '/' * example: ${server.error.path:${error.path:/error}}/test/{name:[a-zA-Z0-9]{3}}/{bb}/add * - * @param url + * @param url url * @return List of path */ public static List splitPathBySlash(String url) { diff --git a/src/main/java/com/ly/doc/utils/JavaClassUtil.java b/src/main/java/com/ly/doc/utils/JavaClassUtil.java index 5a12e6396..a24746f18 100644 --- a/src/main/java/com/ly/doc/utils/JavaClassUtil.java +++ b/src/main/java/com/ly/doc/utils/JavaClassUtil.java @@ -59,6 +59,7 @@ public class JavaClassUtil { * @param cls1 The JavaClass object * @param counter Recursive counter * @param addedFields added fields,Field deduplication + * @param classLoader classLoader * @return list of JavaField */ public static List getFields(JavaClass cls1, int counter, Map addedFields, ClassLoader classLoader) { diff --git a/src/main/java/com/ly/doc/utils/TornaUtil.java b/src/main/java/com/ly/doc/utils/TornaUtil.java index 45f0a5215..748601faf 100644 --- a/src/main/java/com/ly/doc/utils/TornaUtil.java +++ b/src/main/java/com/ly/doc/utils/TornaUtil.java @@ -23,34 +23,26 @@ package com.ly.doc.utils; -import java.util.*; - import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonParser; import com.ly.doc.constants.DocGlobalConstants; +import com.ly.doc.constants.TornaConstants; import com.ly.doc.model.*; import com.ly.doc.model.rpc.RpcApiDependency; +import com.ly.doc.model.torna.*; import com.power.common.model.EnumDictionary; import com.power.common.util.CollectionUtil; import com.power.common.util.OkHttp3Util; import com.power.common.util.StringUtil; -import com.ly.doc.constants.TornaConstants; -import com.ly.doc.model.torna.Apis; -import com.ly.doc.model.torna.CommonErrorCode; -import com.ly.doc.model.torna.DebugEnv; -import com.ly.doc.model.torna.HttpParam; -import com.ly.doc.model.torna.TornaApi; -import com.ly.doc.model.torna.TornaDic; -import com.ly.doc.model.torna.TornaRequestInfo; import com.thoughtworks.qdox.JavaProjectBuilder; - import com.thoughtworks.qdox.model.JavaMethod; import com.thoughtworks.qdox.model.JavaParameter; import org.apache.commons.collections4.ListUtils; -import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import java.util.*; + import static com.ly.doc.constants.TornaConstants.ENUM_PUSH; import static com.ly.doc.constants.TornaConstants.PUSH; @@ -60,21 +52,30 @@ public class TornaUtil { public static void pushToTorna(TornaApi tornaApi, ApiConfig apiConfig, JavaProjectBuilder builder) { - if(ObjectUtils.isEmpty(apiConfig.getApiUploadNums())){ + // Check whether the document needs to be pushed + if (tornaApi == null || apiConfig == null) { + return; + } + // Push all documents + if (null != apiConfig.getApiUploadNums()) { pushToTornaAll(tornaApi, apiConfig, builder); return; } - - ListUtils.partition(tornaApi.getApis(), apiConfig.getApiUploadNums()).stream().forEach(apis -> { + // Push part of documents if the upload number is not null + List tornaApis = tornaApi.getApis(); + if (tornaApis == null || tornaApis.isEmpty()) { + return; + } + ListUtils.partition(tornaApis, apiConfig.getApiUploadNums()).forEach(apis -> { tornaApi.setApis(apis); pushToTornaAll(tornaApi, apiConfig, builder); }); } private static void pushToTornaAll(TornaApi tornaApi, ApiConfig apiConfig, JavaProjectBuilder builder) { - //Build push document information + // Build push document information Map requestJson = TornaConstants.buildParams(PUSH, new Gson().toJson(tornaApi), apiConfig); - //Push dictionary information + // Push dictionary information Map dicMap = new HashMap<>(2); List docDicts = TornaUtil.buildTornaDic(DocUtil.buildDictionary(apiConfig, builder)); if (CollectionUtil.isNotEmpty(docDicts)) { @@ -83,9 +84,9 @@ private static void pushToTornaAll(TornaApi tornaApi, ApiConfig apiConfig, JavaP String dicResponseMsg = OkHttp3Util.syncPostJson(apiConfig.getOpenUrl(), new Gson().toJson(dicRequestJson)); TornaUtil.printDebugInfo(apiConfig, dicResponseMsg, dicRequestJson, ENUM_PUSH); } - //Get the response result + // Get the response result String responseMsg = OkHttp3Util.syncPostJson(apiConfig.getOpenUrl(), new Gson().toJson(requestJson)); - //Print the log of pushing documents to Torna + // Print the log of pushing documents to Torna TornaUtil.printDebugInfo(apiConfig, responseMsg, requestJson, PUSH); } @@ -93,7 +94,7 @@ public static boolean setDebugEnv(ApiConfig apiConfig, TornaApi tornaApi) { boolean hasDebugEnv = StringUtils.isNotBlank(apiConfig.getDebugEnvName()) && StringUtils.isNotBlank(apiConfig.getDebugEnvUrl()); - //Set up the test environment + // Set up the test environment List debugEnvs = new ArrayList<>(); if (hasDebugEnv) { DebugEnv debugEnv = new DebugEnv(); @@ -126,7 +127,7 @@ public static void printDebugInfo(ApiConfig apiConfig, String responseMsg, Map buildApis(List apiMethodDocs, boolean hasDebugEnv) { - //Parameter list + // Parameter list List apis = new ArrayList<>(); Apis methodApi; - //Iterative classification interface + // Iterative classification interface for (ApiMethodDoc apiMethodDoc : apiMethodDocs) { methodApi = new Apis(); methodApi.setIsFolder(TornaConstants.NO); @@ -164,7 +165,7 @@ public static List buildApis(List apiMethodDocs, boolean has methodApi.setRequestArrayType(apiMethodDoc.getRequestArrayType()); methodApi.setResponseArrayType(apiMethodDoc.getResponseArrayType()); methodApi.setDeprecated(apiMethodDoc.isDeprecated() ? "Deprecated" : null); - //Path + // Path if (CollectionUtil.isNotEmpty(apiMethodDoc.getPathParams())) { methodApi.setPathParams(buildParams(apiMethodDoc.getPathParams())); } @@ -176,7 +177,7 @@ public static List buildApis(List apiMethodDocs, boolean has } else if (CollectionUtil.isNotEmpty(apiMethodDoc.getQueryParams())) { methodApi.setQueryParams(buildParams(apiMethodDoc.getQueryParams())); } - //Json + // Json if (CollectionUtil.isNotEmpty(apiMethodDoc.getRequestParams())) { methodApi.setRequestParams(buildParams(apiMethodDoc.getRequestParams())); } @@ -192,10 +193,10 @@ public static List buildApis(List apiMethodDocs, boolean has * @return List of Api */ public static List buildDubboApis(List apiMethodDocs) { - //Parameter list + // Parameter list List apis = new ArrayList<>(); Apis methodApi; - //Iterative classification interface + // Iterative classification interface for (RpcJavaMethod apiMethodDoc : apiMethodDocs) { methodApi = new Apis(); methodApi.setIsFolder(TornaConstants.NO); @@ -207,7 +208,7 @@ public static List buildDubboApis(List apiMethodDocs) { methodApi.setResponseParams(buildParams(apiMethodDoc.getResponseParams())); methodApi.setOrderIndex(apiMethodDoc.getOrder()); methodApi.setDeprecated(apiMethodDoc.isDeprecated() ? "Deprecated" : null); - //Json + // Json if (CollectionUtil.isNotEmpty(apiMethodDoc.getRequestParams())) { methodApi.setRequestParams(buildParams(apiMethodDoc.getRequestParams())); } @@ -331,9 +332,10 @@ private static List buildTornaDicItems(List dataDicts) { /** * Set torna tags - * @param method - * @param apiMethodDoc - * @param apiConfig + * + * @param method method + * @param apiMethodDoc apiMethodDoc + * @param apiConfig apiConfig */ public static void setTornaArrayTags(JavaMethod method, ApiMethodDoc apiMethodDoc, ApiConfig apiConfig) { String returnTypeName = method.getReturnType().getCanonicalName(); @@ -342,14 +344,14 @@ public static void setTornaArrayTags(JavaMethod method, ApiMethodDoc apiMethodDo String responseBodyAdviceClassName = Optional.ofNullable(apiConfig).map(ApiConfig::getResponseBodyAdvice).map(BodyAdvice::getClassName).orElse(StringUtil.EMPTY); String realReturnTypeName = StringUtil.isEmpty(responseBodyAdviceClassName) ? returnTypeName : responseBodyAdviceClassName; boolean respArray = JavaClassValidateUtil.isCollection(realReturnTypeName) || JavaClassValidateUtil.isArray(realReturnTypeName); - //response + // response if (respArray) { apiMethodDoc.setIsResponseArray(1); String className = getType(method.getReturnType().getGenericCanonicalName()); String arrayType = JavaClassValidateUtil.isPrimitive(className) ? className : DocGlobalConstants.OBJECT; apiMethodDoc.setResponseArrayType(arrayType); } - //request + // request if (CollectionUtil.isNotEmpty(method.getParameters())) { String requestBodyAdviceClassName = Optional.ofNullable(apiConfig).map(ApiConfig::getRequestBodyAdvice).map(BodyAdvice::getClassName).orElse(StringUtil.EMPTY); for (JavaParameter param : method.getParameters()) { @@ -385,7 +387,7 @@ private static String getArrayType(Map schemaMap) { private static String getType(String typeName) { String gicType; - //get generic type + // get generic type if (typeName.contains("<")) { gicType = typeName.substring(typeName.indexOf("<") + 1, typeName.lastIndexOf(">")); } else {