From 846c1855c8984d14356f6846ec35504c229412fb Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: Tue, 30 Sep 2025 15:46:11 +0800
Subject: [PATCH] 优化
---
ard-admin/src/main/java/com/ard/web/core/config/SwaggerConfig.java | 105 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 91 insertions(+), 14 deletions(-)
diff --git a/ard-admin/src/main/java/com/ard/web/core/config/SwaggerConfig.java b/ard-admin/src/main/java/com/ard/web/core/config/SwaggerConfig.java
index 650a1f9..219680c 100644
--- a/ard-admin/src/main/java/com/ard/web/core/config/SwaggerConfig.java
+++ b/ard-admin/src/main/java/com/ard/web/core/config/SwaggerConfig.java
@@ -37,28 +37,98 @@
* 创建API
*/
@Bean
- public Docket createRestApi()
- {
+ public Docket systemApi() {
return new Docket(DocumentationType.SWAGGER_2)
- // 是否启用Swagger
.enable(true)
- // 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
- .apiInfo(apiInfo())
- // 设置哪些接口暴露给Swagger展示
+ .groupName("系统接口") // 分组名
+ .apiInfo(apiInfo("系统接口"))
.select()
- // 扫描所有有注解的api,用这种方式更灵活
- .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
- // 扫描指定包中的swagger注解
- // .apis(RequestHandlerSelectors.basePackage("com.ard.project.tool.swagger"))
- // 扫描所有 .apis(RequestHandlerSelectors.any())
+ // 扫描指定包下,但只扫描加了 @ApiOperation 注解的方法
+ .apis(requestHandler ->
+ requestHandler.declaringClass().getPackage().getName().startsWith("com.ard.web.controller.system") &&
+ requestHandler.isAnnotatedWith(io.swagger.annotations.ApiOperation.class)
+ )
.paths(PathSelectors.any())
.build()
/* 设置安全模式,swagger可以设置访问token */
.securitySchemes(securitySchemes())
- .securityContexts(securityContexts())
- .pathMapping("/");
+ .securityContexts(securityContexts());
}
-
+ @Bean
+ public Docket droneApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .enable(true)
+ .groupName("无人机接口") // 分组名
+ .apiInfo(apiInfo("无人机管理接口"))
+ .select()
+ // 扫描指定包下,但只扫描加了 @ApiOperation 注解的方法
+ .apis(requestHandler ->
+ requestHandler.declaringClass().getPackage().getName().startsWith("com.ard.web.controller.work") &&
+ requestHandler.isAnnotatedWith(io.swagger.annotations.ApiOperation.class)
+ )
+ .paths(PathSelectors.any())
+ .build()
+ /* 设置安全模式,swagger可以设置访问token */
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts());
+ }
+ @Bean
+ public Docket sampleApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .enable(true)
+ .groupName("机场接口") // 分组名
+ .apiInfo(apiInfo("机场管理接口"))
+ .select()
+ // 扫描指定包下,但只扫描加了 @ApiOperation 注解的方法
+ .apis(requestHandler ->
+ requestHandler.declaringClass().getPackage().getName().startsWith("com.ard.web.controller" +
+ ".sample") &&
+ requestHandler.isAnnotatedWith(io.swagger.annotations.ApiOperation.class)
+ )
+ .paths(PathSelectors.any())
+ .build()
+ /* 设置安全模式,swagger可以设置访问token */
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts());
+ }
+ @Bean
+ public Docket mediaMTXApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .enable(true)
+ .groupName("流媒体接口") // 分组名
+ .apiInfo(apiInfo("流媒体管理接口"))
+ .select()
+ // 扫描指定包下,但只扫描加了 @ApiOperation 注解的方法
+ .apis(requestHandler ->
+ requestHandler.declaringClass().getPackage().getName().startsWith("com.ard.web.controller" +
+ ".vtdu") &&
+ requestHandler.isAnnotatedWith(io.swagger.annotations.ApiOperation.class)
+ )
+ .paths(PathSelectors.any())
+ .build()
+ /* 设置安全模式,swagger可以设置访问token */
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts());
+ }
+ @Bean
+ public Docket deviceApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .enable(true)
+ .groupName("设备接口") // 分组名
+ .apiInfo(apiInfo("设备管理接口"))
+ .select()
+ // 扫描指定包下,但只扫描加了 @ApiOperation 注解的方法
+ .apis(requestHandler ->
+ requestHandler.declaringClass().getPackage().getName().startsWith("com.ard.web.controller" +
+ ".device") &&
+ requestHandler.isAnnotatedWith(io.swagger.annotations.ApiOperation.class)
+ )
+ .paths(PathSelectors.any())
+ .build()
+ /* 设置安全模式,swagger可以设置访问token */
+ .securitySchemes(securitySchemes())
+ .securityContexts(securityContexts());
+ }
/**
* 安全模式,这里指定token通过Authorization头请求头传递
*/
@@ -113,4 +183,11 @@
.version(uavConfig.getVersion())
.build();
}
+ private ApiInfo apiInfo(String title) {
+ return new ApiInfoBuilder()
+ .title(title)
+ .description("API 文档")
+ .version("1.0")
+ .build();
+ }
}
--
Gitblit v1.9.3