If you don't use the default separator, "/" should not be special:
jshell> new AntPathMatcher("\0").extractUriTemplateVariables("tot{;}", "totoa");
$11 ==> {;=oa}
jshell> new AntPathMatcher("\0").extractUriTemplateVariables("tot{/}", "totoa");
| Exception java.lang.IllegalStateException: Pattern "tot{/}" is not a match for "totoa"
| at AntPathMatcher.extractUriTemplateVariables (AntPathMatcher.java:516)
| at (#12:1)
Expected {/=oa}
note: the previous example is treated as an exact match:
jshell> new AntPathMatcher("\0").extractUriTemplateVariables("tot{/}", "tot{/}");
$19 ==> {}
See https://github.com/spring-projects/spring-framework/blob/17e6cf1cc1b57bd65bfae8da8cddc8314a89408d/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java#L645 there are slashes hardcoded in there
Comment From: tafjwr
I worked on this issue in #33085
Comment From: bclozel
Closing in favor of #33085