Class PathMatchConfigurer
WebMvcConfigurationSupport.requestMappingHandlerMapping(org.springframework.web.accept.ContentNegotiationManager, org.springframework.format.support.FormattingConversionService, org.springframework.web.servlet.resource.ResourceUrlProvider)
WebMvcConfigurationSupport.viewControllerHandlerMapping(org.springframework.format.support.FormattingConversionService, org.springframework.web.servlet.resource.ResourceUrlProvider)
WebMvcConfigurationSupport.beanNameHandlerMapping(org.springframework.format.support.FormattingConversionService, org.springframework.web.servlet.resource.ResourceUrlProvider)
WebMvcConfigurationSupport.routerFunctionMapping(org.springframework.format.support.FormattingConversionService, org.springframework.web.servlet.resource.ResourceUrlProvider)
WebMvcConfigurationSupport.resourceHandlerMapping(org.springframework.web.accept.ContentNegotiationManager, org.springframework.format.support.FormattingConversionService, org.springframework.web.servlet.resource.ResourceUrlProvider)
- Since:
- 4.0.3
- Author:
- Brian Clozel, Rossen Stoyanchev
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddPathPrefix
(String prefix, Predicate<Class<?>> predicate) Configure a path prefix to apply to matching controller methods.protected PathMatcher
Return the configured PathMatcher or a default, shared instance otherwise.Return thePathPatternParser
to use, if configured.Return the configured PathPatternParser or a default, shared instance otherwise.protected UrlPathHelper
Return the configured UrlPathHelper or a default, shared instance otherwise.Deprecated.Deprecated.as of 5.2.4, see deprecation note onsetUseSuffixPatternMatch(Boolean)
.Deprecated.protected boolean
Whether to preferPathMatcher
.setPathMatcher
(PathMatcher pathMatcher) Set the PathMatcher to use for String pattern matching.setPatternParser
(PathPatternParser patternParser) Set thePathPatternParser
to parsepatterns
with for URL path matching.setUrlPathHelper
(UrlPathHelper urlPathHelper) Set the UrlPathHelper to use to resolve the mapping path for the application.setUseRegisteredSuffixPatternMatch
(Boolean registeredSuffixPatternMatch) Deprecated.as of 5.2.4.setUseSuffixPatternMatch
(Boolean suffixPatternMatch) Deprecated.as of 5.2.4.setUseTrailingSlashMatch
(Boolean trailingSlashMatch) Deprecated.as of 6.0, seePathPatternParser.setMatchOptionalTrailingSeparator(boolean)
-
Constructor Details
-
PathMatchConfigurer
public PathMatchConfigurer()
-
-
Method Details
-
setPatternParser
Set thePathPatternParser
to parsepatterns
with for URL path matching. Parsed patterns provide a more modern and efficient alternative to String path matching viaAntPathMatcher
.Note: This property is mutually exclusive with the following other,
AntPathMatcher
related properties:setUseSuffixPatternMatch(Boolean)
setUseRegisteredSuffixPatternMatch(Boolean)
setUrlPathHelper(UrlPathHelper)
setPathMatcher(PathMatcher)
By default, as of 6.0, a
PathPatternParser
with default settings is used, which enables parsedpatterns
. Set this property tonull
to fall back on String path matching viaAntPathMatcher
instead, or alternatively, setting one of the above listedAntPathMatcher
related properties has the same effect.- Parameters:
patternParser
- the parser to pre-parse patterns with- Since:
- 5.3
-
setUseTrailingSlashMatch
@Deprecated(since="6.0") public PathMatchConfigurer setUseTrailingSlashMatch(Boolean trailingSlashMatch) Deprecated.as of 6.0, seePathPatternParser.setMatchOptionalTrailingSeparator(boolean)
Whether to match to URLs irrespective of the presence of a trailing slash. If enabled a method mapped to "/users" also matches to "/users/".The default was changed in 6.0 from
true
tofalse
in order to support the deprecation of the property. -
addPathPrefix
Configure a path prefix to apply to matching controller methods.Prefixes are used to enrich the mappings of every
@RequestMapping
method whose controller type is matched by the correspondingPredicate
. The prefix for the first matching predicate is used.Consider using
HandlerTypePredicate
to group controllers.- Parameters:
prefix
- the prefix to applypredicate
- a predicate for matching controller types- Since:
- 5.1
-
setUseSuffixPatternMatch
@Deprecated public PathMatchConfigurer setUseSuffixPatternMatch(@Nullable Boolean suffixPatternMatch) Deprecated.as of 5.2.4. See class-level note inRequestMappingHandlerMapping
on the deprecation of path extension config options. As there is no replacement for this method, in 5.2.x it is necessary to set it tofalse
. In 5.3 the default changes tofalse
and use of this property becomes unnecessary.Whether to use suffix pattern match (".*") when matching patterns to requests. If enabled a method mapped to "/users" also matches to "/users.*".Note: This property is mutually exclusive with
setPatternParser(PathPatternParser)
. If set, it enables use of String path matching, unless aPathPatternParser
is also explicitly set in which case this property is ignored.By default this is set to
false
. -
setUseRegisteredSuffixPatternMatch
@Deprecated public PathMatchConfigurer setUseRegisteredSuffixPatternMatch(@Nullable Boolean registeredSuffixPatternMatch) Deprecated.as of 5.2.4. See class-level note inRequestMappingHandlerMapping
on the deprecation of path extension config options.Whether suffix pattern matching should work only against path extensions explicitly registered when youconfigure content negotiation
. This is generally recommended to reduce ambiguity and to avoid issues such as when a "." appears in the path for other reasons.Note: This property is mutually exclusive with
setPatternParser(PathPatternParser)
. If set, it enables use of String path matching, unless aPathPatternParser
is also explicitly set in which case this property is ignored.By default this is set to "false".
-
setUrlPathHelper
Set the UrlPathHelper to use to resolve the mapping path for the application.Note: This property is mutually exclusive with
setPatternParser(PathPatternParser)
. If set, it enables use of String path matching, unless aPathPatternParser
is also explicitly set in which case this property is ignored.By default this is an instance of
UrlPathHelper
with default settings. -
setPathMatcher
Set the PathMatcher to use for String pattern matching.Note: This property is mutually exclusive with
setPatternParser(PathPatternParser)
. If set, it enables use of String path matching, unless aPathPatternParser
is also explicitly set in which case this property is ignored.By default this is an instance of
AntPathMatcher
with default settings. -
preferPathMatcher
protected boolean preferPathMatcher()Whether to preferPathMatcher
. This is the case when either is true:PathPatternParser
is explicitly set tonull
.PathPatternParser
is not explicitly set, and aPathMatcher
related option is explicitly set.
- Since:
- 6.0
-
getPatternParser
Return thePathPatternParser
to use, if configured.- Since:
- 5.3
-
isUseTrailingSlashMatch
Deprecated. -
getPathPrefixes
-
isUseRegisteredSuffixPatternMatch
Deprecated.as of 5.2.4, see deprecation note onsetUseRegisteredSuffixPatternMatch(Boolean)
.Whether to use registered suffixes for pattern matching. -
isUseSuffixPatternMatch
Deprecated.as of 5.2.4, see deprecation note onsetUseSuffixPatternMatch(Boolean)
.Whether to use registered suffixes for pattern matching. -
getUrlPathHelper
-
getPathMatcher
-
getUrlPathHelperOrDefault
Return the configured UrlPathHelper or a default, shared instance otherwise.- Since:
- 5.3
-
getPathMatcherOrDefault
Return the configured PathMatcher or a default, shared instance otherwise.- Since:
- 5.3
-
getPatternParserOrDefault
Return the configured PathPatternParser or a default, shared instance otherwise.- Since:
- 5.3.4
-
setUseRegisteredSuffixPatternMatch(Boolean)
.