mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-04-07 19:13:16 +08:00
update 优化 统一补全代码注释
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -162,6 +162,7 @@ public class SaTokenSecurityMetadata {
|
||||
|
||||
/**
|
||||
* 重写mode的获取方法,返回符号而非文字
|
||||
*
|
||||
* @return AND→&,OR→|,默认→&
|
||||
*/
|
||||
public String getModeSymbol() {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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) {
|
||||
// 检查是否忽略校验
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user