feat(api-doc): ApiDocUtils 新增 buildGroupedOpenApi(构建分组接口文档) 方法

DocUtils => ApiDocUtils
This commit is contained in:
2025-06-14 22:16:31 +08:00
parent 079adb8b2c
commit 08abe94c85
3 changed files with 35 additions and 8 deletions

View File

@@ -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<String> 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 + "<span style='color:red'>" + DocUtils.getDescMap(enumClass) + "</span>";
return originalDescription + "<span style='color:red'>" + ApiDocUtils.getDescMap(enumClass) + "</span>";
}
/**

View File

@@ -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();
}
/**