From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 91 insertions(+), 0 deletions(-) diff --git a/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java new file mode 100644 index 0000000..a04545a --- /dev/null +++ b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java @@ -0,0 +1,91 @@ +package com.doumee.config.swagger; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; +import com.google.common.base.Function; +import com.google.common.base.Optional; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.RequestHandler; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.oas.annotations.EnableOpenApi; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; + +import java.util.function.Predicate; + +/** + * Swagger閰嶇疆 + * @author Eva.Caesar Liu + * @date 2022/03/11 10:24 + */ +@Configuration +@EnableOpenApi +@EnableKnife4j +public class SwaggerConfig { + + @Value("${swagger.host:}") + private String host; + @Value("${swagger.enabled:}") + private Boolean enabled; + + @Value("${swagger.title:鎺ュ彛鏂囨。}") + private String title; + + @Value("${swagger.description:}") + private String description; + + @Value("${project.version:}") + private String version; + + @Bean + public ApiInfo getApiInfo() { + return new ApiInfoBuilder() + .title(title) + .description(description) + .version(version) + .build(); + } + @Bean + public Docket getDocket2() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(this.getApiInfo()).groupName("default") + .host(host) + .enable(enabled) + .select() + .apis( basePackage("com.doumee.api.gateway;")) + // 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被 +// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) + .paths(PathSelectors.any()) + .build(); + } + + /** + * 閲嶅啓basePackage鏂规硶锛屼娇鑳藉瀹炵幇澶氬寘璁块棶锛屽鍒惰创涓婂幓 + * @author teavamc + * @date 2019/1/26 + * @return com.google.common.base.Predicate<springfox.documentation.RequestHandler> + */ + public static Predicate<RequestHandler> basePackage(String basePackage) { + return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true); + } + + private static Function<Class<?>, Boolean> handlerPackage(String basePackage) { + return input -> { + // 寰幆鍒ゆ柇鍖归厤 + for (String strPackage : basePackage.split(";")) { + boolean isMatch = input.getPackage().getName().startsWith(strPackage); + if (isMatch) { + return true; + } + } + return false; + }; + } + + private static Optional<? extends Class<?>> declaringClass(RequestHandler input) { + return Optional.fromNullable(input.declaringClass()); + } +} -- Gitblit v1.9.3