|
|
@@ -21,6 +21,9 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|
21
|
21
|
/** 星号 */
|
|
22
|
22
|
private static final String START = "*";
|
|
23
|
23
|
|
|
|
24
|
+ /** 斜杠 */
|
|
|
25
|
+ private static final String SLASH = "/";
|
|
|
26
|
+
|
|
24
|
27
|
/**
|
|
25
|
28
|
* 获取参数不为空值
|
|
26
|
29
|
*
|
|
|
@@ -477,22 +480,27 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|
477
|
480
|
|
|
478
|
481
|
// 匹配前缀Pattern
|
|
479
|
482
|
result = remainingURI.contains(prefixPattern);
|
|
|
483
|
+
|
|
|
484
|
+ // 匹配失败,直接返回
|
|
|
485
|
+ if (!result)
|
|
|
486
|
+ return false;
|
|
|
487
|
+
|
|
480
|
488
|
// 已经没有星号,判断长度是否符合,并返回
|
|
481
|
489
|
if (formerStarOffset == -1)
|
|
482
|
490
|
{
|
|
483
|
|
- //清洗请求路径
|
|
484
|
|
- if (remainingURI.endsWith("/")) {
|
|
|
491
|
+ // 清洗请求路径
|
|
|
492
|
+ if (remainingURI.endsWith(SLASH)) {
|
|
485
|
493
|
remainingURI = remainingURI.substring(0, remainingURI.length() - 1);
|
|
486
|
494
|
}
|
|
487
|
495
|
return remainingURI.length() == prefixPattern.length();
|
|
488
|
496
|
}
|
|
489
|
497
|
|
|
490
|
|
- // 匹配失败,直接返回
|
|
491
|
|
- if (!result)
|
|
492
|
|
- return false;
|
|
493
|
|
-
|
|
494
|
498
|
if (!isEmpty(prefixPattern))
|
|
495
|
499
|
{
|
|
|
500
|
+ // 如果前面还有路径 直接返回
|
|
|
501
|
+ if (!isEmpty(substringBefore(str, prefixPattern))) {
|
|
|
502
|
+ return false;
|
|
|
503
|
+ }
|
|
496
|
504
|
remainingURI = substringAfter(str, prefixPattern);
|
|
497
|
505
|
}
|
|
498
|
506
|
|
|
|
@@ -500,6 +508,14 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
|
|
500
|
508
|
latterStarOffset = indexOf(pattern, START, formerStarOffset + 1);
|
|
501
|
509
|
suffixPattern = substring(pattern, formerStarOffset + 1, latterStarOffset > -1 ? latterStarOffset : pattern.length());
|
|
502
|
510
|
|
|
|
511
|
+ // 判断是否存在第二个 *
|
|
|
512
|
+ if (latterStarOffset == -1) {
|
|
|
513
|
+ // 判断是否还包含斜杠
|
|
|
514
|
+ if(remainingURI.contains(SLASH)) {
|
|
|
515
|
+ return false;
|
|
|
516
|
+ }
|
|
|
517
|
+ }
|
|
|
518
|
+
|
|
503
|
519
|
result = remainingURI.contains(suffixPattern);
|
|
504
|
520
|
// 匹配失败,直接返回
|
|
505
|
521
|
if (!result)
|