From 6d675c8982d730a8d31ba0109b35611f9efb7b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=B2=90?= Date: Tue, 30 Jul 2024 10:51:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Swagger=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=EF=BC=8C=E6=8C=89=E5=88=86=E7=BB=84=E6=98=BE=E7=A4=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/common/config/SwaggerConfig.java | 43 --------- .../src/main/java/net/maku/SwaggerConfig.java | 103 +++++++++++++++++++++ 2 files changed, 103 insertions(+), 43 deletions(-) delete mode 100644 maku-framework/src/main/java/net/maku/framework/common/config/SwaggerConfig.java create mode 100644 maku-server/src/main/java/net/maku/SwaggerConfig.java diff --git a/maku-framework/src/main/java/net/maku/framework/common/config/SwaggerConfig.java b/maku-framework/src/main/java/net/maku/framework/common/config/SwaggerConfig.java deleted file mode 100644 index 746242c..0000000 --- a/maku-framework/src/main/java/net/maku/framework/common/config/SwaggerConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -package net.maku.framework.common.config; - -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.info.Contact; -import io.swagger.v3.oas.models.info.Info; -import io.swagger.v3.oas.models.info.License; -import org.springdoc.core.models.GroupedOpenApi; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * Swagger配置 - * - * @author 阿沐 babamu@126.com - */ -@Configuration -public class SwaggerConfig { - - @Bean - public GroupedOpenApi userApi() { - String[] paths = {"/**"}; - String[] packagedToMatch = {"net.maku"}; - return GroupedOpenApi.builder().group("MakuBoot") - .pathsToMatch(paths) - .packagesToScan(packagedToMatch).build(); - } - - @Bean - public OpenAPI customOpenAPI() { - Contact contact = new Contact(); - contact.setName("阿沐 babamu@126.com"); - - return new OpenAPI().info(new Info() - .title("MakuBoot") - .description("MakuBoot") - .contact(contact) - .version("3.0") - .termsOfService("https://maku.net") - .license(new License().name("MIT") - .url("https://maku.net"))); - } - -} \ No newline at end of file diff --git a/maku-server/src/main/java/net/maku/SwaggerConfig.java b/maku-server/src/main/java/net/maku/SwaggerConfig.java new file mode 100644 index 0000000..aafa141 --- /dev/null +++ b/maku-server/src/main/java/net/maku/SwaggerConfig.java @@ -0,0 +1,103 @@ +package net.maku; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Swagger配置 + * + * @author 阿沐 babamu@126.com + */ +@Configuration +public class SwaggerConfig { + + @Bean + public GroupedOpenApi systemApi() { + String[] paths = {"/**"}; + String[] packagedToMatch = {"net.maku.system"}; + return GroupedOpenApi.builder() + .group("1") + .displayName("System API") + .pathsToMatch(paths) + .packagesToScan(packagedToMatch).build(); + } + + @Bean + public GroupedOpenApi quartzApi() { + String[] paths = {"/**"}; + String[] packagedToMatch = {"net.maku.quartz"}; + return GroupedOpenApi.builder() + .group("2") + .displayName("Quartz API") + .pathsToMatch(paths) + .packagesToScan(packagedToMatch).build(); + } + + @Bean + public GroupedOpenApi monitorApi() { + String[] paths = {"/**"}; + String[] packagedToMatch = {"net.maku.monitor"}; + return GroupedOpenApi.builder() + .group("3") + .displayName("Monitor API") + .pathsToMatch(paths) + .packagesToScan(packagedToMatch).build(); + } + + @Bean + public GroupedOpenApi memberApi() { + String[] paths = {"/**"}; + String[] packagedToMatch = {"net.maku.member"}; + return GroupedOpenApi.builder() + .group("4") + .displayName("Member API") + .pathsToMatch(paths) + .packagesToScan(packagedToMatch).build(); + } + + @Bean + public GroupedOpenApi iotApi() { + String[] paths = {"/**"}; + String[] packagedToMatch = {"net.maku.iot"}; + return GroupedOpenApi.builder() + .group("5") + .displayName("Iot API") + .pathsToMatch(paths) + .packagesToScan(packagedToMatch).build(); + } + + @Bean + public GroupedOpenApi otherApi() { + String[] paths = {"/**"}; + String[] packagedToMatch = {"net.maku"}; + return GroupedOpenApi.builder() + .group("99") + .displayName("Other API") + .pathsToMatch(paths) + .packagesToExclude( + "net.maku.system", "net.maku.quartz", "net.maku.monitor", "net.maku.member", "net.maku.iot", + "net.maku.generator" + ) + .packagesToScan(packagedToMatch) + .build(); + } + + @Bean + public OpenAPI openApi() { + Contact contact = new Contact(); + contact.setName("阿沐 babamu@126.com"); + + return new OpenAPI().info(new Info() + .title("Maku API") + .description("Maku API") + .contact(contact) + .version("3.x") + .termsOfService("https://maku.net") + ); + } + +} \ No newline at end of file