diff --git a/deploy/local/launchctl/README.md b/deploy/local/launchctl/README.md
index 49ce0487..f47f21ce 100644
--- a/deploy/local/launchctl/README.md
+++ b/deploy/local/launchctl/README.md
@@ -109,10 +109,10 @@ curl -sS http://127.0.0.1:20300/actuator/health/liveness
curl -sS http://127.0.0.1:20300/actuator/health/readiness
```
-Swagger:
+API / Swagger:
-- GB32960 ingest: `http://127.0.0.1:20100/swagger-ui/index.html`
-- JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html`
-- Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html`
+- GB32960 ingest health: `http://127.0.0.1:20100/actuator/health`
+- JT808 ingest health: `http://127.0.0.1:20400/actuator/health`
+- Yutong MQTT ingest health: `http://127.0.0.1:20500/actuator/health`
- History query: `http://127.0.0.1:20200/swagger-ui/index.html`
- Analytics metrics: `http://127.0.0.1:20300/swagger-ui/index.html`
diff --git a/docs/operations/vehicle-ingest-tdengine-verification.md b/docs/operations/vehicle-ingest-tdengine-verification.md
index 0f0613b1..f5bd1efe 100644
--- a/docs/operations/vehicle-ingest-tdengine-verification.md
+++ b/docs/operations/vehicle-ingest-tdengine-verification.md
@@ -190,11 +190,11 @@ curl -sS http://127.0.0.1:20300/actuator/health/liveness
curl -sS http://127.0.0.1:20300/actuator/health/readiness
```
-Swagger:
+API / Swagger:
-- JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html`
-- GB32960 ingest: `http://127.0.0.1:20100/swagger-ui/index.html`
-- Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html`
+- JT808 ingest health: `http://127.0.0.1:20400/actuator/health`
+- GB32960 ingest health: `http://127.0.0.1:20100/actuator/health`
+- Yutong MQTT ingest health: `http://127.0.0.1:20500/actuator/health`
- History query: `http://127.0.0.1:20200/swagger-ui/index.html`
- Analytics metrics: `http://127.0.0.1:20300/swagger-ui/index.html`
diff --git a/modules/apps/gb32960-ingest-app/pom.xml b/modules/apps/gb32960-ingest-app/pom.xml
index d61281b5..337adec8 100644
--- a/modules/apps/gb32960-ingest-app/pom.xml
+++ b/modules/apps/gb32960-ingest-app/pom.xml
@@ -49,10 +49,6 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
-
- org.springdoc
- springdoc-openapi-starter-webmvc-ui
-
org.springframework.boot
spring-boot-starter-test
diff --git a/modules/apps/gb32960-ingest-app/src/main/resources/application.yml b/modules/apps/gb32960-ingest-app/src/main/resources/application.yml
index 5065b8b6..b823c666 100644
--- a/modules/apps/gb32960-ingest-app/src/main/resources/application.yml
+++ b/modules/apps/gb32960-ingest-app/src/main/resources/application.yml
@@ -28,12 +28,6 @@ spring:
server:
port: ${HTTP_PORT:20100}
-springdoc:
- swagger-ui:
- path: /swagger-ui.html
- api-docs:
- path: /v3/api-docs
-
lingniu:
ingest:
gb32960:
diff --git a/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java b/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java
index 0b40ab84..e27673c7 100644
--- a/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java
+++ b/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java
@@ -64,7 +64,8 @@ class Gb32960IngestAppDefaultsTest {
.doesNotContain("event-history:")
.doesNotContain("event-file-store:")
.doesNotContain("vehicle-state:")
- .doesNotContain("vehicle-stat:");
+ .doesNotContain("vehicle-stat:")
+ .doesNotContain("springdoc:");
assertThat(applicationYaml())
.contains("password: ${GB32960_PLATFORM_PWD_HYUNDAI:}")
.contains("password: ${GB32960_PLATFORM_PWD_YUEJIN:}")
diff --git a/modules/apps/jt808-ingest-app/pom.xml b/modules/apps/jt808-ingest-app/pom.xml
index 30ff9319..fa39adda 100644
--- a/modules/apps/jt808-ingest-app/pom.xml
+++ b/modules/apps/jt808-ingest-app/pom.xml
@@ -49,10 +49,6 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
-
- org.springdoc
- springdoc-openapi-starter-webmvc-ui
-
org.springframework.boot
spring-boot-starter-test
diff --git a/modules/apps/jt808-ingest-app/src/main/resources/application.yml b/modules/apps/jt808-ingest-app/src/main/resources/application.yml
index 276b6443..0e45d132 100644
--- a/modules/apps/jt808-ingest-app/src/main/resources/application.yml
+++ b/modules/apps/jt808-ingest-app/src/main/resources/application.yml
@@ -28,12 +28,6 @@ spring:
server:
port: ${HTTP_PORT:20400}
-springdoc:
- swagger-ui:
- path: /swagger-ui.html
- api-docs:
- path: /v3/api-docs
-
lingniu:
ingest:
jt808:
diff --git a/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java b/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java
index 5407a2aa..d4fdc471 100644
--- a/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java
+++ b/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java
@@ -55,6 +55,7 @@ class Jt808IngestAppDefaultsTest {
.doesNotContain("event-file-store:")
.doesNotContain("vehicle-state:")
.doesNotContain("vehicle-stat:")
+ .doesNotContain("springdoc:")
.doesNotContain("SESSION_STORE")
.doesNotContain("VEHICLE_IDENTITY_STORE")
.doesNotContain("KAFKA_ENABLED");
diff --git a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java
index 7827419c..0636ee43 100644
--- a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java
+++ b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java
@@ -294,6 +294,25 @@ class MavenModuleProfileTest {
}
}
+ @Test
+ void springdocUiIsOnlyPackagedWithAppsThatExposeRestApis() throws Exception {
+ for (String appPom : List.of(
+ "modules/apps/gb32960-ingest-app/pom.xml",
+ "modules/apps/jt808-ingest-app/pom.xml",
+ "modules/apps/yutong-mqtt-app/pom.xml")) {
+ assertThat(hasDependency(modulePom(appPom), "org.springdoc", "springdoc-openapi-starter-webmvc-ui"))
+ .as(appPom + " exposes Actuator only; Swagger UI belongs to query/API apps")
+ .isFalse();
+ }
+ for (String appPom : List.of(
+ "modules/apps/vehicle-history-app/pom.xml",
+ "modules/apps/vehicle-analytics-app/pom.xml")) {
+ assertThat(hasDependency(modulePom(appPom), "org.springdoc", "springdoc-openapi-starter-webmvc-ui"))
+ .as(appPom + " exposes REST APIs")
+ .isTrue();
+ }
+ }
+
@Test
void buildSurfaceDoesNotManageLombokWhenProductionSourcesDoNotUseIt() throws Exception {
Document pom = rootPom();
diff --git a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java
index 293cdd95..028f005b 100644
--- a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java
+++ b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java
@@ -163,8 +163,9 @@ class PortainerComposeResourceLimitsTest {
.contains("launchctl bootout \"gui/$(id -u)\" \"$HOME/Library/LaunchAgents/com.lingniu.yutong-mqtt.plist\" || true")
.contains("launchctl bootout \"gui/$(id -u)\" \"$HOME/Library/LaunchAgents/com.lingniu.vehicle-analytics.plist\" || true")
.contains("launchctl list | rg 'com.lingniu.(gb32960|jt808|yutong-mqtt|vehicle-history|vehicle-analytics)'")
- .contains("Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html`")
+ .contains("Yutong MQTT ingest health: `http://127.0.0.1:20500/actuator/health`")
.contains("Analytics metrics: `http://127.0.0.1:20300/swagger-ui/index.html`")
+ .doesNotContain("Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html`")
.doesNotContain("sed \\")
.doesNotContain("三个服务");
@@ -451,7 +452,8 @@ class PortainerComposeResourceLimitsTest {
assertThat(readme)
.contains("`jt808-ingest-app`: TCP `808`,HTTP `20400`")
.contains("curl -sS http://127.0.0.1:20400/actuator/health")
- .contains("JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html`")
+ .contains("JT808 ingest health: `http://127.0.0.1:20400/actuator/health`")
+ .doesNotContain("JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html`")
.doesNotContain("20482");
}
diff --git a/modules/apps/yutong-mqtt-app/pom.xml b/modules/apps/yutong-mqtt-app/pom.xml
index 7c2039d0..e2896cc3 100644
--- a/modules/apps/yutong-mqtt-app/pom.xml
+++ b/modules/apps/yutong-mqtt-app/pom.xml
@@ -45,10 +45,6 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
-
- org.springdoc
- springdoc-openapi-starter-webmvc-ui
-
org.springframework.boot
spring-boot-starter-test
diff --git a/modules/apps/yutong-mqtt-app/src/main/resources/application.yml b/modules/apps/yutong-mqtt-app/src/main/resources/application.yml
index 1cdb4d4c..86301eb5 100644
--- a/modules/apps/yutong-mqtt-app/src/main/resources/application.yml
+++ b/modules/apps/yutong-mqtt-app/src/main/resources/application.yml
@@ -21,12 +21,6 @@ spring:
server:
port: ${HTTP_PORT:20500}
-springdoc:
- swagger-ui:
- path: /swagger-ui.html
- api-docs:
- path: /v3/api-docs
-
lingniu:
ingest:
mqtt:
diff --git a/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java b/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java
index ebfa3c7e..5e99c230 100644
--- a/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java
+++ b/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java
@@ -49,6 +49,7 @@ class YutongMqttAppDefaultsTest {
.doesNotContain("event-file-store:")
.doesNotContain("vehicle-state:")
.doesNotContain("vehicle-stat:")
+ .doesNotContain("springdoc:")
.doesNotContain("VEHICLE_IDENTITY_STORE")
.doesNotContain("KAFKA_ENABLED");
}