diff --git a/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/handler/BaseEnumParameterHandler.java b/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/handler/BaseEnumParameterHandler.java index b13462ee..1a6d6b63 100644 --- a/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/handler/BaseEnumParameterHandler.java +++ b/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/handler/BaseEnumParameterHandler.java @@ -26,7 +26,7 @@ import io.swagger.v3.oas.models.parameters.Parameter; import org.springdoc.core.customizers.ParameterCustomizer; import org.springdoc.core.customizers.PropertyCustomizer; import org.springframework.core.MethodParameter; -import top.continew.starter.apidoc.util.DocUtils; +import top.continew.starter.apidoc.util.ApiDocUtils; import top.continew.starter.core.enums.BaseEnum; import java.lang.reflect.Type; @@ -84,9 +84,9 @@ public class BaseEnumParameterHandler implements ParameterCustomizer, PropertyCu BaseEnum[] enums = (BaseEnum[])enumClass.getEnumConstants(); List valueList = Arrays.stream(enums).map(e -> e.getValue().toString()).toList(); schema.setEnum(valueList); - String enumValueType = DocUtils.getEnumValueTypeAsString(enumClass); + String enumValueType = ApiDocUtils.getEnumValueTypeAsString(enumClass); schema.setType(enumValueType); - schema.setFormat(DocUtils.resolveFormat(enumValueType)); + schema.setFormat(ApiDocUtils.resolveFormat(enumValueType)); } /** @@ -97,7 +97,7 @@ public class BaseEnumParameterHandler implements ParameterCustomizer, PropertyCu * @return 追加后的描述字符串 */ private String appendEnumDescription(String originalDescription, Class enumClass) { - return originalDescription + "" + DocUtils.getDescMap(enumClass) + ""; + return originalDescription + "" + ApiDocUtils.getDescMap(enumClass) + ""; } /** diff --git a/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/util/DocUtils.java b/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/util/ApiDocUtils.java similarity index 80% rename from continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/util/DocUtils.java rename to continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/util/ApiDocUtils.java index 7164ed8f..d7340577 100644 --- a/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/util/DocUtils.java +++ b/continew-starter-api-doc/src/main/java/top/continew/starter/apidoc/util/ApiDocUtils.java @@ -16,6 +16,7 @@ package top.continew.starter.apidoc.util; +import org.springdoc.core.models.GroupedOpenApi; import org.springframework.web.bind.annotation.RestController; import top.continew.starter.core.enums.BaseEnum; @@ -30,11 +31,37 @@ import java.util.stream.Collectors; * 接口文档工具类 * * @author echo + * @author Charles7c * @since 2.5.2 */ -public class DocUtils { +public class ApiDocUtils { - private DocUtils() { + private ApiDocUtils() { + } + + /** + * 构建分组接口文档 + * + * @param group 分组名称 + * @param pathsToMatch 路径匹配 + * @return GroupedOpenApi + * @since 2.13.0 + */ + public static GroupedOpenApi buildGroupedOpenApi(String group, String... pathsToMatch) { + return buildGroupedOpenApi(group, group, pathsToMatch); + } + + /** + * 构建分组接口文档 + * + * @param group 分组名称 + * @param displayName 分组显示名称 + * @param pathsToMatch 路径匹配 + * @return GroupedOpenApi + * @since 2.13.0 + */ + public static GroupedOpenApi buildGroupedOpenApi(String group, String displayName, String... pathsToMatch) { + return GroupedOpenApi.builder().group(group).displayName(displayName).pathsToMatch(pathsToMatch).build(); } /** diff --git a/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/response/ApiDocGlobalResponseHandler.java b/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/response/ApiDocGlobalResponseHandler.java index 25736af7..fd0c2f16 100644 --- a/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/response/ApiDocGlobalResponseHandler.java +++ b/continew-starter-web/src/main/java/top/continew/starter/web/autoconfigure/response/ApiDocGlobalResponseHandler.java @@ -20,7 +20,7 @@ import cn.hutool.core.util.ClassUtil; import org.apache.commons.lang3.reflect.TypeUtils; import org.springdoc.core.parsers.ReturnTypeParser; import org.springframework.core.MethodParameter; -import top.continew.starter.apidoc.util.DocUtils; +import top.continew.starter.apidoc.util.ApiDocUtils; import java.lang.reflect.Type; @@ -54,7 +54,7 @@ public class ApiDocGlobalResponseHandler implements ReturnTypeParser { // 获取返回类型 Type returnType = ReturnTypeParser.super.getReturnType(methodParameter); // 判断是否具有 RestController 注解 - if (!DocUtils.hasRestControllerAnnotation(methodParameter.getContainingClass())) { + if (!ApiDocUtils.hasRestControllerAnnotation(methodParameter.getContainingClass())) { return returnType; } // 如果为响应类型,则直接返回