diff --git a/src/main/java/com/ly/doc/builder/openapi/OpenApiBuilder.java b/src/main/java/com/ly/doc/builder/openapi/OpenApiBuilder.java index 1a5d0489..a7672f64 100644 --- a/src/main/java/com/ly/doc/builder/openapi/OpenApiBuilder.java +++ b/src/main/java/com/ly/doc/builder/openapi/OpenApiBuilder.java @@ -24,6 +24,7 @@ import com.ly.doc.constants.DocGlobalConstants; import com.ly.doc.constants.Methods; +import com.ly.doc.constants.OpenApiTagNameTypeEnum; import com.ly.doc.constants.ParamTypeConstants; import com.ly.doc.helper.JavaProjectBuilderHelper; import com.ly.doc.model.ApiConfig; @@ -159,7 +160,17 @@ public Map buildPathUrlsRequest(ApiConfig apiConfig, ApiMethodDo // } else { // request.put("tags", new String[]{tag}); // } - request.put("tags", apiMethodDoc.getTagRefs().stream().map(TagDoc::getTag).toArray()); + OpenApiTagNameTypeEnum openApiTagNameType = apiConfig.getOpenApiTagNameType(); + switch (openApiTagNameType) { + case DESCRIPTION: + request.put("tags", new String[] { apiDoc.getDesc() }); + break; + case PACKAGE_NAME: + request.put("tags", new String[] { apiDoc.getPackageName() }); + break; + default: + request.put("tags", apiMethodDoc.getTagRefs().stream().map(TagDoc::getTag).toArray()); + } request.put("requestBody", this.buildRequestBody(apiConfig, apiMethodDoc)); request.put("parameters", this.buildParameters(apiMethodDoc)); request.put("responses", this.buildResponses(apiConfig, apiMethodDoc, apiExceptionStatuses)); diff --git a/src/main/java/com/ly/doc/model/ApiConfig.java b/src/main/java/com/ly/doc/model/ApiConfig.java index a0f54022..5946189a 100644 --- a/src/main/java/com/ly/doc/model/ApiConfig.java +++ b/src/main/java/com/ly/doc/model/ApiConfig.java @@ -1201,6 +1201,9 @@ public void setAllowSelfReference(boolean allowSelfReference) { } public OpenApiTagNameTypeEnum getOpenApiTagNameType() { + if (Objects.isNull(openApiTagNameType)) { + return OpenApiTagNameTypeEnum.CLASS_NAME; + } return openApiTagNameType; } diff --git a/src/main/java/com/ly/doc/model/openapi/OpenApiTag.java b/src/main/java/com/ly/doc/model/openapi/OpenApiTag.java index 98538634..722985de 100644 --- a/src/main/java/com/ly/doc/model/openapi/OpenApiTag.java +++ b/src/main/java/com/ly/doc/model/openapi/OpenApiTag.java @@ -69,6 +69,9 @@ public static OpenApiTag of(String name, String description) { * @return OpenApiTag */ public static OpenApiTag of(OpenApiTagNameTypeEnum openApiTagNameType, ApiDoc apiDoc) { + if (Objects.isNull(openApiTagNameType)) { + return of(apiDoc.getName(), apiDoc.getDesc()); + } switch (openApiTagNameType) { case DESCRIPTION: return new OpenApiTag(apiDoc.getDesc(), apiDoc.getDesc());