From 95f4d62c8e99e0f9059af0f7ba6c16c4e318436c Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Mon, 14 Apr 2025 13:55:32 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=87=8D=E5=86=99=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E7=AE=97=E6=B3=95=E4=BF=AE=E6=AD=A3=E4=B8=BA?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E5=86=99=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-doc/more/common-questions.md | 46 +++++++++++---------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/sa-token-doc/more/common-questions.md b/sa-token-doc/more/common-questions.md index f2d68fe1..a835e26c 100644 --- a/sa-token-doc/more/common-questions.md +++ b/sa-token-doc/more/common-questions.md @@ -465,17 +465,13 @@ spring: 步骤2:再改 Sa-Token 的: ``` java /** - * 自定义 SaTokenContext 实现类,重写 matchPath 方法,切换为 ant_path_matcher 模式,使之可以支持 `**` 之后再出现内容 + * 重写路由匹配算法,切换为 ant_path_matcher 模式,使之可以支持 `**` 之后再出现内容 */ -@Primary -@Component -public class SaTokenContextByPatternsRequestCondition extends SaTokenContextForSpringInJakartaServlet { - - @Override - public boolean matchPath(String pattern, String path) { - return SaPatternsRequestConditionHolder.match(pattern, path); - } - +@PostConstruct +public void customRouteMatcher() { + SaStrategy.instance.routeMatcher = (pattern, path) -> { + return SaPatternsRequestConditionHolder.match(pattern, path); + }; } ``` @@ -492,17 +488,13 @@ java.lang.NoClassDefFoundError: org/springframework/web/servlet/mvc/condition/Pa ``` java /** - * 自定义 SaTokenContext 实现类,重写 matchPath 方法,切换为 ant_path_matcher 模式,使之可以支持 `**` 之后再出现内容 + * 重写路由匹配算法,切换为 ant_path_matcher 模式,使之可以支持 `**` 之后再出现内容 */ -@Primary -@Component -public class SaTokenContextByPatternsRequestCondition extends SaTokenContextForSpringReactor { - - @Override - public boolean matchPath(String pattern, String path) { - return SaPathMatcherHolder.getPathMatcher().match(pattern, path); - } - +@PostConstruct +public void customRouteMatcher() { + SaStrategy.instance.routeMatcher = (pattern, path) -> { + return SaPathMatcherHolder.getPathMatcher().match(pattern, path); + }; } ``` @@ -525,15 +517,13 @@ java.lang.NoSuchFieldError: defaultInstance ``` java /** - * 自定义 SaTokenContext 实现类,重写 matchPath 方法,将 PathPatternParser.defaultInstance 改为 SaPathMatcherHolder.getPathMatcher() + * 重写路由匹配算法,将 PathPatternParser.defaultInstance 改为 SaPathMatcherHolder.getPathMatcher() */ -@Primary -@Component -public class SaTokenContextByPatternsRequestCondition extends SaTokenContextForSpringReactor { - @Override - public boolean matchPath(String pattern, String path) { - return SaPathMatcherHolder.getPathMatcher().match(pattern, path); - } +@PostConstruct +public void customRouteMatcher() { + SaStrategy.instance.routeMatcher = (pattern, path) -> { + return SaPathMatcherHolder.getPathMatcher().match(pattern, path); + }; } ```