From ddc5a9a7d0d5ecaf1f9299fc3d9e065bfb66a787 Mon Sep 17 00:00:00 2001
From: haotianmingyue <2421912570@qq.com>
Date: Tue, 1 Jul 2025 15:12:59 +0800
Subject: [PATCH] =?UTF-8?q?1.=E5=AF=BC=E5=85=A5spring=20doc=20swagger=20ap?=
=?UTF-8?q?i=E8=87=AA=E5=8A=A8=E6=90=9C=E9=9B=86=E5=BA=93=20\n2.=E6=96=B0?=
=?UTF-8?q?=E5=A2=9Eapplication-prod.yml=E7=94=9F=E4=BA=A7=E7=8E=AF?=
=?UTF-8?q?=E5=A2=83=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=AD,=20appli?=
=?UTF-8?q?cation=20spring.profile.active=E6=8E=A7=E5=88=B6=E5=88=87?=
=?UTF-8?q?=E6=8D=A2=E7=8E=AF=E5=A2=83.\n3.=E9=85=8D=E7=BD=AE=E6=96=87?=
=?UTF-8?q?=E4=BB=B6=E4=B8=AD=E9=80=9A=E8=BF=87springdoc=E6=9D=A5=E6=8E=A7?=
=?UTF-8?q?=E5=88=B6=E6=98=AF=E5=90=A6=E5=BC=80=E5=90=AFspringdoc?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 24 +++++++++
.../modules/common/config/OpenApiConfig.java | 28 ++++++++++
.../user/controller/testController.java | 6 +++
src/main/resources/application-dev.yml | 8 ++-
src/main/resources/application-prod.yml | 53 +++++++++++++++++++
src/main/resources/application.yml | 6 +++
6 files changed, 124 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/com/example/testspring/demos/modules/common/config/OpenApiConfig.java
create mode 100644 src/main/resources/application-prod.yml
diff --git a/pom.xml b/pom.xml
index c8a0a34..b018316 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,9 @@
17
UTF-8
UTF-8
+ 2.9.2
+ 2.9.2
+ 2.5.0
@@ -64,6 +67,27 @@
druid-spring-boot-starter
1.2.8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+ ${springdoc-openapi-starter-webmvc-ui}
+
+
diff --git a/src/main/java/com/example/testspring/demos/modules/common/config/OpenApiConfig.java b/src/main/java/com/example/testspring/demos/modules/common/config/OpenApiConfig.java
new file mode 100644
index 0000000..2d2822f
--- /dev/null
+++ b/src/main/java/com/example/testspring/demos/modules/common/config/OpenApiConfig.java
@@ -0,0 +1,28 @@
+package com.example.testspring.demos.modules.common.config;
+
+
+//import io.swagger.v3.oas.annotations.info.Info;
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Info;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+
+@Configuration
+@Profile("dev")
+public class OpenApiConfig {
+
+ @Bean
+ public OpenAPI customOpenAPI() {
+ return new OpenAPI()
+ .info(new Info()
+ .title("API文档")
+ .version("1.0.0")
+ .description("Spring Boot项目接口说明")
+ .contact(new io.swagger.v3.oas.models.info.Contact()
+ .name("作者")
+ .url("https://example.com")
+ .email("contact@example.com")));
+ }
+}
diff --git a/src/main/java/com/example/testspring/demos/modules/user/controller/testController.java b/src/main/java/com/example/testspring/demos/modules/user/controller/testController.java
index a2b2bbc..3ef7728 100644
--- a/src/main/java/com/example/testspring/demos/modules/user/controller/testController.java
+++ b/src/main/java/com/example/testspring/demos/modules/user/controller/testController.java
@@ -7,6 +7,9 @@ import com.example.testspring.demos.modules.user.entity.SysMenu;
import com.example.testspring.demos.modules.user.entity.SysUser;
import com.example.testspring.demos.modules.user.service.IRobotService;
import com.example.testspring.demos.modules.user.service.ISysUserService;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,6 +19,7 @@ import java.util.List;
@RestController
@RequestMapping("/test")
+@Tag(name = "测试接口")
public class testController {
@Autowired
@@ -30,11 +34,13 @@ public class testController {
// }
@GetMapping("/testRobot")
+ @Operation(summary = "测试获取机器人列表")
public List test(){
return robotService.selectRobotList(new Robot());
}
@GetMapping("/testR")
+ @Operation(summary = "测试获取机器人列表--以指定格式返回")
public R testR(){
return R.ok().put("data",robotService.selectRobotList(new Robot()));
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 9cff315..938d030 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -44,4 +44,10 @@ spring:
merge-sql: true
wall:
config:
- multi-statement-allow: true
\ No newline at end of file
+ multi-statement-allow: true
+
+springdoc:
+ api-docs:
+ enabled: true
+ swagger-ui:
+ enabled: true
\ No newline at end of file
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
new file mode 100644
index 0000000..4d2a9a3
--- /dev/null
+++ b/src/main/resources/application-prod.yml
@@ -0,0 +1,53 @@
+spring:
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource # 如使用Druid则取消注释
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ # url: 'jdbc:mysql://localhost:3306/ruoyi-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8'
+ url: 'jdbc:mysql://localhost:3306/kangda?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8'
+ username: root
+ password: root
+ # Druid 连接池专属配置区 (注意缩进对齐)
+ druid:
+ # 从库数据源
+ slave:
+ enabled: false
+ url: ''
+ username: ''
+ password: ''
+ # 连接池配置
+ initial-size: 5
+ min-idle: 10
+ max-active: 20
+ max-wait: 60000
+ time-between-eviction-runs-millis: 60000
+ min-evictable-idle-time-millis: 300000
+ max-evictable-idle-time-millis: 900000
+ validation-query: SELECT 1 FROM DUAL
+ test-while-idle: true
+ test-on-borrow: false
+ test-on-return: false
+ # Web监控配置
+ web-stat-filter:
+ enabled: true
+ stat-view-servlet:
+ enabled: true
+ allow: # 白名单
+ url-pattern: /druid/*
+ login-username: ruoyi
+ login-password: 123456
+ # 过滤器配置
+ filter:
+ stat:
+ enabled: true
+ log-slow-sql: true
+ slow-sql-millis: 1000
+ merge-sql: true
+ wall:
+ config:
+ multi-statement-allow: true
+
+springdoc:
+ api-docs:
+ enabled: false
+ swagger-ui:
+ enabled: false
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1255fd9..307b164 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -2,6 +2,12 @@ spring:
application:
name: testspring
+
+# mvc:
+# # ????, ?????swagger???????
+# pathmatch:
+# matching-strategy: ANT_PATH_MATCHER # ??ant????
+
profiles:
active: dev