Details
Description
The PathPatternParser will match the pattern "/{foo}" against the path "/". This is a regression: the AntPathMatcher will not match with the same parameters.
The rationale: path/URI template variables (i.e. patterns with curly braces) should be considered required, and not optional. In that sense, they cannot be considered the same as wildcard matches (i.e. "/*" should match the path "/", but "/{foo}" should not). If they would be optional, we could not resolve the @PathVariable parameters in a @RequestMapping method.