From 9b3da964c23a31f9d1164b74b5742d1034de8af3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 09 五月 2024 17:09:53 +0800
Subject: [PATCH] 最新版本
---
server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java | 88 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 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..07e9c82
--- /dev/null
+++ b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
@@ -0,0 +1,88 @@
+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.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)
+ .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