From bccd32ea73bd8a16d49ab743bd224b8ae73948c0 Mon Sep 17 00:00:00 2001 From: marsal Date: Tue, 7 Jul 2026 16:13:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(health):=20=E6=B7=BB=E5=8A=A0=20/api/v1/hea?= =?UTF-8?q?lth=20=E7=AB=AF=E7=82=B9=E5=B9=B6=E4=BF=AE=E6=AD=A3=20mci-serve?= =?UTF-8?q?r=20=E5=81=A5=E5=BA=B7=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - HealthController: 提供无鉴权健康检查接口,返回 {status: ok} - AuthInterceptor/WebConfig: 放行 /api/v1/health - docker-compose.yml: mci-server 健康检查地址改为 /msg-platform/api/v1/health 注意:mci-server Docker 镜像当前因 Maven Central 无法解析 spring-boot-maven-plugin:4.1.0 而无法重新构建,健康检查修复已入库,待网络恢复后重新构建即可生效。 --- .../mci/admin/controller/HealthController.java | 18 ++++++++++++++++++ .../mci/admin/security/AuthInterceptor.java | 3 ++- .../java/com/sino/mci/config/WebConfig.java | 3 ++- docker-compose.yml | 2 +- 4 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 backend/mci-server/src/main/java/com/sino/mci/admin/controller/HealthController.java diff --git a/backend/mci-server/src/main/java/com/sino/mci/admin/controller/HealthController.java b/backend/mci-server/src/main/java/com/sino/mci/admin/controller/HealthController.java new file mode 100644 index 0000000..205fab1 --- /dev/null +++ b/backend/mci-server/src/main/java/com/sino/mci/admin/controller/HealthController.java @@ -0,0 +1,18 @@ +package com.sino.mci.admin.controller; + +import com.sino.mci.shared.web.ApiResponse; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@RestController +@RequestMapping("/api/v1/health") +public class HealthController { + + @GetMapping + public ApiResponse> health() { + return ApiResponse.ok(Map.of("status", "ok")); + } +} diff --git a/backend/mci-server/src/main/java/com/sino/mci/admin/security/AuthInterceptor.java b/backend/mci-server/src/main/java/com/sino/mci/admin/security/AuthInterceptor.java index 38bfb38..913d43a 100644 --- a/backend/mci-server/src/main/java/com/sino/mci/admin/security/AuthInterceptor.java +++ b/backend/mci-server/src/main/java/com/sino/mci/admin/security/AuthInterceptor.java @@ -16,7 +16,8 @@ public class AuthInterceptor implements HandlerInterceptor { String method = request.getMethod(); if (path.contains("/api/v1/account/login") || ("POST".equals(method) && isExactPath(path, "/api/v1/account/tenant")) - || ("POST".equals(method) && isExactPath(path, "/api/v1/account/user"))) { + || ("POST".equals(method) && isExactPath(path, "/api/v1/account/user")) + || isExactPath(path, "/api/v1/health")) { return true; } diff --git a/backend/mci-server/src/main/java/com/sino/mci/config/WebConfig.java b/backend/mci-server/src/main/java/com/sino/mci/config/WebConfig.java index 0e43a01..9aa5198 100644 --- a/backend/mci-server/src/main/java/com/sino/mci/config/WebConfig.java +++ b/backend/mci-server/src/main/java/com/sino/mci/config/WebConfig.java @@ -19,6 +19,7 @@ public class WebConfig implements WebMvcConfigurer { .excludePathPatterns( "/msg-platform/api/v1/account/login", "/api/v1/account/login", "/msg-platform/api/v1/account/tenant", "/api/v1/account/tenant", - "/msg-platform/api/v1/account/user", "/api/v1/account/user"); + "/msg-platform/api/v1/account/user", "/api/v1/account/user", + "/msg-platform/api/v1/health", "/api/v1/health"); } } diff --git a/docker-compose.yml b/docker-compose.yml index 09057ad..90e36aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -93,7 +93,7 @@ services: rabbitmq: condition: service_healthy healthcheck: - test: ["CMD", "curl", "-fsS", "http://localhost:8080/msg-platform/actuator/health"] + test: ["CMD", "curl", "-fsS", "http://localhost:8080/msg-platform/api/v1/health"] interval: 10s timeout: 5s retries: 15