Skip to content

Commit 4bf995f

Browse files
funky-eyesbclozel
authored andcommitted
Support "*" mapping in MockMvc filter registration
Prior to this commit, configuring a Servlet filter in MockMvc with a defined mapping would only consider "/*" as a catch-all pattern. This commit relaxes this rule by also accepting "*" mappings. Closes gh-28041
1 parent 31a62ff commit 4bf995f

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

spring-test/src/main/java/org/springframework/test/web/servlet/setup/MockMvcFilterDecorator.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,11 @@
4747
*/
4848
final class MockMvcFilterDecorator implements Filter {
4949

50-
private static final String EXTENSION_MAPPING_PATTERN = "*.";
50+
private static final String ALL_MAPPING_PATTERN = "*";
5151

52-
private static final String PATH_MAPPING_PATTERN = "/*";
52+
private static final String EXTENSION_MAPPING_PATTERN = ALL_MAPPING_PATTERN + ".";
53+
54+
private static final String PATH_MAPPING_PATTERN = "/" + ALL_MAPPING_PATTERN;
5355

5456
private final Filter delegate;
5557

@@ -103,7 +105,7 @@ private void addUrlPattern(String urlPattern) {
103105
if (urlPattern.startsWith(EXTENSION_MAPPING_PATTERN)) {
104106
this.endsWithMatches.add(urlPattern.substring(1));
105107
}
106-
else if (urlPattern.equals(PATH_MAPPING_PATTERN)) {
108+
else if (urlPattern.equals(PATH_MAPPING_PATTERN) || urlPattern.equals(ALL_MAPPING_PATTERN)) {
107109
this.startsWithMatches.add("");
108110
}
109111
else if (urlPattern.endsWith(PATH_MAPPING_PATTERN)) {

spring-test/src/test/java/org/springframework/test/web/servlet/setup/MockMvcFilterDecoratorTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void matchPathMappingAllFolder() throws Exception {
9595

9696
@Test
9797
public void matchPathMappingAll() throws Exception {
98-
assertFilterInvoked("/test", "/*");
98+
assertFilterInvoked("/test", "*");
9999
}
100100

101101
@Test

0 commit comments

Comments
 (0)