update 优化 统一补全代码注释

This commit is contained in:
疯狂的狮子Li
2026-03-13 19:36:14 +08:00
parent 916282ba68
commit 48992b574d
201 changed files with 2554 additions and 465 deletions

View File

@@ -44,6 +44,12 @@ public class SpringDocConfig {
private final ServerProperties serverProperties;
/**
* 构建基础 OpenAPI 文档对象。
*
* @param properties SpringDoc 配置
* @return OpenAPI 对象
*/
@Bean
@ConditionalOnMissingBean(OpenAPI.class)
public OpenAPI openApi(SpringDocProperties properties) {
@@ -68,6 +74,12 @@ public class SpringDocConfig {
return openApi;
}
/**
* 将自定义文档信息配置转换为 OpenAPI Info。
*
* @param infoProperties 文档信息配置
* @return Info 对象
*/
private Info convertInfo(SpringDocProperties.InfoProperties infoProperties) {
Info info = new Info();
info.setTitle(infoProperties.getTitle());

View File

@@ -162,6 +162,7 @@ public class SaTokenSecurityMetadata {
/**
* 重写mode的获取方法返回符号而非文字
*
* @return AND→&OR→|,默认→&
*/
public String getModeSymbol() {

View File

@@ -15,6 +15,7 @@ public interface JavadocResolver extends Comparable<JavadocResolver>, Ordered {
/**
* 检查解析器是否支持解析 HandlerMethod
*
* @param handlerMethod 处理器方法
* @return 是否支持解析
*/
@@ -22,6 +23,7 @@ public interface JavadocResolver extends Comparable<JavadocResolver>, Ordered {
/**
* 执行解析并返回解析到的 Javadoc 内容
*
* @param handlerMethod 处理器方法
* @param operation Swagger Operation实例
* @return 解析到的 Javadoc 内容
@@ -29,7 +31,9 @@ public interface JavadocResolver extends Comparable<JavadocResolver>, Ordered {
String resolve(HandlerMethod handlerMethod, Operation operation);
/**
* 获取解析器优先级
* 获取解析器优先级
*
* @return 优先级
*/
default int getOrder() {
return Ordered.LOWEST_PRECEDENCE;
@@ -44,6 +48,12 @@ public interface JavadocResolver extends Comparable<JavadocResolver>, Ordered {
return this.getClass().getSimpleName();
}
/**
* 比较解析器执行顺序。
*
* @param o 其他解析器
* @return 比较结果
*/
@Override
default int compareTo(@NotNull JavadocResolver o) {
return Integer.compare(getOrder(), o.getOrder());

View File

@@ -54,23 +54,53 @@ public class SaTokenAnnotationMetadataJavadocResolver extends AbstractMetadataJa
this(DEFAULT_METADATA_PROVIDER);
}
/**
* 使用自定义元数据提供者创建解析器。
*
* @param metadataProvider 元数据提供者
*/
public SaTokenAnnotationMetadataJavadocResolver(Supplier<SaTokenSecurityMetadata> metadataProvider) {
super(metadataProvider);
}
/**
* 使用指定顺序创建解析器。
*
* @param order 顺序值
*/
public SaTokenAnnotationMetadataJavadocResolver(int order) {
this(DEFAULT_METADATA_PROVIDER,order);
}
/**
* 使用自定义元数据提供者和顺序创建解析器。
*
* @param metadataProvider 元数据提供者
* @param order 顺序值
*/
public SaTokenAnnotationMetadataJavadocResolver(Supplier<SaTokenSecurityMetadata> metadataProvider, int order) {
super(metadataProvider,order);
}
/**
* 判断当前方法是否需要由该解析器处理。
*
* @param handlerMethod Handler 方法
* @return 是否支持
*/
@Override
public boolean supports(HandlerMethod handlerMethod) {
return hasAnnotation(handlerMethod, SA_CHECK_ROLE_CLASS) || hasAnnotation(handlerMethod, SA_CHECK_PERMISSION_CLASS) || hasAnnotation(handlerMethod, SA_IGNORE_CLASS);
}
/**
* 解析 Sa-Token 注解并转换为文档说明。
*
* @param handlerMethod Handler 方法
* @param operation OpenAPI 操作对象
* @param metadata 权限元数据
* @return Markdown 描述
*/
@Override
public String resolve(HandlerMethod handlerMethod, Operation operation, SaTokenSecurityMetadata metadata) {
// 检查是否忽略校验

View File

@@ -124,6 +124,7 @@ public class OpenApiHandler extends OpenAPIService {
* @param openApiBuilderCustomizers the open api builder customisers
* @param serverBaseUrlCustomizers the server base url customizers
* @param javadocProvider the javadoc provider
* @param javadocResolvers Javadoc 解析器列表
*/
public OpenApiHandler(Optional<OpenAPI> openAPI, SecurityService securityParser,
SpringDocConfigProperties springDocConfigProperties, PropertyResolverUtils propertyResolverUtils,
@@ -152,6 +153,15 @@ public class OpenApiHandler extends OpenAPIService {
TypeNameResolver.std.setUseFqn(true);
}
/**
* 构建接口标签、权限描述与方法摘要。
*
* @param handlerMethod Handler 方法
* @param operation OpenAPI 操作对象
* @param openAPI OpenAPI 文档对象
* @param locale 当前语言环境
* @return 处理后的操作对象
*/
@Override
public Operation buildTags(HandlerMethod handlerMethod, Operation operation, OpenAPI openAPI, Locale locale) {
@@ -247,6 +257,14 @@ public class OpenApiHandler extends OpenAPIService {
return operation;
}
/**
* 从方法注解中提取标签信息。
*
* @param method 方法对象
* @param tags 标签集合
* @param tagsStr 标签名称集合
* @param locale 当前语言环境
*/
private void buildTagsFromMethod(Method method, Set<io.swagger.v3.oas.models.tags.Tag> tags, Set<String> tagsStr, Locale locale) {
// method tags
Set<Tags> tagsSet = AnnotatedElementUtils
@@ -261,6 +279,13 @@ public class OpenApiHandler extends OpenAPIService {
}
}
/**
* 将注解标签转换并合并到 OpenAPI 标签集合。
*
* @param sourceTags 注解标签列表
* @param tags OpenAPI 标签集合
* @param locale 当前语言环境
*/
private void addTags(List<io.swagger.v3.oas.annotations.tags.Tag> sourceTags, Set<io.swagger.v3.oas.models.tags.Tag> tags, Locale locale) {
Optional<Set<io.swagger.v3.oas.models.tags.Tag>> optionalTagSet = AnnotationsUtils
.getTags(sourceTags.toArray(new io.swagger.v3.oas.annotations.tags.Tag[0]), true);