From 198fb065d42f5bb37aabddbe89d8a9b152cc6789 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 26 Jul 2025 16:15:38 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9ACacheRequestBodyFilter=20=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=20Spring=20Boot=20Admin=20=E6=97=A0=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=97=A5=E5=BF=97=E7=BA=A7=E5=88=AB=EF=BC=8Chttps://g?= =?UTF-8?q?ithub.com/YunaiV/ruoyi-vue-pro/issues/795?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/core/filter/CacheRequestBodyFilter.java | 17 ++++++++++++++++- .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 4 ---- .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - .../src/main/resources/application-local.yaml | 1 - 16 files changed, 16 insertions(+), 19 deletions(-) diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/CacheRequestBodyFilter.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/CacheRequestBodyFilter.java index 9071998f9..ae7bfeca7 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/CacheRequestBodyFilter.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/filter/CacheRequestBodyFilter.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.framework.web.core.filter; +import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; import org.springframework.web.filter.OncePerRequestFilter; @@ -16,6 +17,14 @@ import java.io.IOException; */ public class CacheRequestBodyFilter extends OncePerRequestFilter { + /** + * 需要排除的 URI + * + * 1. 排除 Spring Boot Admin 相关请求,避免客户端连接中断导致的异常。 + * 例如说:795 ISSUE + */ + private static final String[] IGNORE_URIS = {"/admin", "/actuator"}; + @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws IOException, ServletException { @@ -24,7 +33,13 @@ public class CacheRequestBodyFilter extends OncePerRequestFilter { @Override protected boolean shouldNotFilter(HttpServletRequest request) { - // 只处理 json 请求内容 + // 1. 校验是否为排除的 URL + String requestURI = request.getRequestURI(); + if (StrUtil.containsAny(requestURI, IGNORE_URIS)) { + return true; + } + + // 2. 只处理 json 请求内容 return !ServletUtils.isJsonRequest(request); } diff --git a/yudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml b/yudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml index 6934d4518..d00b80546 100644 --- a/yudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml +++ b/yudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 - org.springframework.ai.vectorstore.qdrant.autoconfigure.QdrantVectorStoreAutoConfiguration # 禁用 AI 模块的 Qdrant,手动创建 - org.springframework.ai.vectorstore.milvus.autoconfigure.MilvusVectorStoreAutoConfiguration # 禁用 AI 模块的 Milvus,手动创建 datasource: diff --git a/yudao-module-bpm/yudao-module-bpm-server/src/main/resources/application-local.yaml b/yudao-module-bpm/yudao-module-bpm-server/src/main/resources/application-local.yaml index 633e8b1b1..5d7b0af92 100644 --- a/yudao-module-bpm/yudao-module-bpm-server/src/main/resources/application-local.yaml +++ b/yudao-module-bpm/yudao-module-bpm-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-crm/yudao-module-crm-server/src/main/resources/application-local.yaml b/yudao-module-crm/yudao-module-crm-server/src/main/resources/application-local.yaml index 33fdbdde5..62956d0d8 100644 --- a/yudao-module-crm/yudao-module-crm-server/src/main/resources/application-local.yaml +++ b/yudao-module-crm/yudao-module-crm-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-erp/yudao-module-erp-server/src/main/resources/application-local.yaml b/yudao-module-erp/yudao-module-erp-server/src/main/resources/application-local.yaml index c536235f8..468d4ca2a 100644 --- a/yudao-module-erp/yudao-module-erp-server/src/main/resources/application-local.yaml +++ b/yudao-module-erp/yudao-module-erp-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-infra/yudao-module-infra-server/src/main/resources/application-local.yaml b/yudao-module-infra/yudao-module-infra-server/src/main/resources/application-local.yaml index affcbaa04..9d9a4c7a8 100644 --- a/yudao-module-infra/yudao-module-infra-server/src/main/resources/application-local.yaml +++ b/yudao-module-infra/yudao-module-infra-server/src/main/resources/application-local.yaml @@ -21,10 +21,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 - - de.codecentric.boot.admin.server.cloud.config.AdminServerDiscoveryAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 - - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/application-local.yaml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/application-local.yaml index f2f39e249..db74dd066 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/application-local.yaml +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-mall/yudao-module-product-server/src/main/resources/application-local.yaml b/yudao-module-mall/yudao-module-product-server/src/main/resources/application-local.yaml index 5b040dbc2..54377b5d9 100644 --- a/yudao-module-mall/yudao-module-product-server/src/main/resources/application-local.yaml +++ b/yudao-module-mall/yudao-module-product-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-mall/yudao-module-promotion-server/src/main/resources/application-local.yaml b/yudao-module-mall/yudao-module-promotion-server/src/main/resources/application-local.yaml index e2002302c..a4a6bdfd9 100644 --- a/yudao-module-mall/yudao-module-promotion-server/src/main/resources/application-local.yaml +++ b/yudao-module-mall/yudao-module-promotion-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-mall/yudao-module-statistics-server/src/main/resources/application-local.yaml b/yudao-module-mall/yudao-module-statistics-server/src/main/resources/application-local.yaml index 07c46f6ec..a6f120309 100644 --- a/yudao-module-mall/yudao-module-statistics-server/src/main/resources/application-local.yaml +++ b/yudao-module-mall/yudao-module-statistics-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-mall/yudao-module-trade-server/src/main/resources/application-local.yaml b/yudao-module-mall/yudao-module-trade-server/src/main/resources/application-local.yaml index 83eef6338..92979ebf9 100644 --- a/yudao-module-mall/yudao-module-trade-server/src/main/resources/application-local.yaml +++ b/yudao-module-mall/yudao-module-trade-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-member/yudao-module-member-server/src/main/resources/application-local.yaml b/yudao-module-member/yudao-module-member-server/src/main/resources/application-local.yaml index 7ad793059..b4b0ad582 100644 --- a/yudao-module-member/yudao-module-member-server/src/main/resources/application-local.yaml +++ b/yudao-module-member/yudao-module-member-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-mp/yudao-module-mp-server/src/main/resources/application-local.yaml b/yudao-module-mp/yudao-module-mp-server/src/main/resources/application-local.yaml index 3636616b7..6b0704219 100644 --- a/yudao-module-mp/yudao-module-mp-server/src/main/resources/application-local.yaml +++ b/yudao-module-mp/yudao-module-mp-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-pay/yudao-module-pay-server/src/main/resources/application-local.yaml b/yudao-module-pay/yudao-module-pay-server/src/main/resources/application-local.yaml index 77dfe1c27..1af8ce48f 100644 --- a/yudao-module-pay/yudao-module-pay-server/src/main/resources/application-local.yaml +++ b/yudao-module-pay/yudao-module-pay-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-report/yudao-module-report-server/src/main/resources/application-local.yaml b/yudao-module-report/yudao-module-report-server/src/main/resources/application-local.yaml index 9e16e1f55..e002778d4 100644 --- a/yudao-module-report/yudao-module-report-server/src/main/resources/application-local.yaml +++ b/yudao-module-report/yudao-module-report-server/src/main/resources/application-local.yaml @@ -21,7 +21,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: diff --git a/yudao-module-system/yudao-module-system-server/src/main/resources/application-local.yaml b/yudao-module-system/yudao-module-system-server/src/main/resources/application-local.yaml index 926308905..40d04f72f 100644 --- a/yudao-module-system/yudao-module-system-server/src/main/resources/application-local.yaml +++ b/yudao-module-system/yudao-module-system-server/src/main/resources/application-local.yaml @@ -20,7 +20,6 @@ spring: # 数据源配置项 autoconfigure: exclude: - - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 datasource: druid: # Druid 【监控】相关的全局配置 web-stat-filter: