From 236d9536926c0d370a60efc6c3688212ed67654e Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 20 Aug 2025 13:20:28 +0800 Subject: [PATCH] fix:【framework 框架】兼容 SpringBoot 2.X 版本的 API 加解密 --- yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/encrypt/core/filter/ApiEncryptFilter.java | 7 +++++++ 1 file changed, 7 insertions(+), 0 deletions(-) diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/encrypt/core/filter/ApiEncryptFilter.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/encrypt/core/filter/ApiEncryptFilter.java index 1216ffe..126a76a 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/encrypt/core/filter/ApiEncryptFilter.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/encrypt/core/filter/ApiEncryptFilter.java @@ -23,6 +23,7 @@ import org.springframework.http.HttpMethod; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerExecutionChain; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; +import org.springframework.web.util.ServletRequestPathUtils; import java.io.IOException; @@ -131,6 +132,12 @@ public class ApiEncryptFilter extends ApiRequestFilter { @SuppressWarnings("PatternVariableCanBeUsed") private ApiEncrypt getApiEncrypt(HttpServletRequest request) { try { + // 特殊:兼容 SpringBoot 2.X 版本会报错的问题 https://t.zsxq.com/kqyiB + if (!ServletRequestPathUtils.hasParsedRequestPath(request)) { + ServletRequestPathUtils.parseAndCache(request); + } + + // 解析 @ApiEncrypt 注解 HandlerExecutionChain mappingHandler = requestMappingHandlerMapping.getHandler(request); if (mappingHandler == null) { return null; -- libgit2 0.21.4