SPR-5924 - REOPENED -PathVariable mappings are greedy over hard coded mappings
This commit is contained in:
@@ -405,7 +405,7 @@ public class AntPathMatcher implements PathMatcher {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
int bracketCount1 = StringUtils.countOccurrencesOf(pattern1, "{");
|
int bracketCount1 = StringUtils.countOccurrencesOf(pattern1, "{");
|
||||||
int bracketCount2 = StringUtils.countOccurrencesOf(pattern1, "{");
|
int bracketCount2 = StringUtils.countOccurrencesOf(pattern2, "{");
|
||||||
if (bracketCount1 < bracketCount2) {
|
if (bracketCount1 < bracketCount2) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -387,6 +387,7 @@ public class AntPathMatcherTests {
|
|||||||
assertEquals(-1, comparator.compare("/hotels/new", "/hotels/{hotel}"));
|
assertEquals(-1, comparator.compare("/hotels/new", "/hotels/{hotel}"));
|
||||||
assertEquals(1, comparator.compare("/hotels/{hotel}", "/hotels/new"));
|
assertEquals(1, comparator.compare("/hotels/{hotel}", "/hotels/new"));
|
||||||
assertEquals(0, comparator.compare("/hotels/{hotel}", "/hotels/{hotel}"));
|
assertEquals(0, comparator.compare("/hotels/{hotel}", "/hotels/{hotel}"));
|
||||||
|
assertEquals(-1, comparator.compare("/hotels/{hotel}/booking", "/hotels/{hotel}/bookings/{booking}"));
|
||||||
|
|
||||||
assertEquals(-1, comparator.compare("/hotels/{hotel}", "/hotels/*"));
|
assertEquals(-1, comparator.compare("/hotels/{hotel}", "/hotels/*"));
|
||||||
assertEquals(1, comparator.compare("/hotels/*", "/hotels/{hotel}"));
|
assertEquals(1, comparator.compare("/hotels/*", "/hotels/{hotel}"));
|
||||||
|
|||||||
Reference in New Issue
Block a user