Class HandlerMappingIntrospector
- All Implemented Interfaces:
Aware
,InitializingBean
,ApplicationContextAware
,CorsConfigurationSource
HandlerMapping
that would
serve a specific request.
Provides the following methods:
getMatchableHandlerMapping(jakarta.servlet.http.HttpServletRequest)
— obtain aHandlerMapping
to check request-matching criteria against.getCorsConfiguration(jakarta.servlet.http.HttpServletRequest)
— obtain the CORS configuration for the request.
Note: This is primarily an SPI to allow Spring Security to align its pattern matching with the same pattern matching that would be used in Spring MVC for a given request, in order to avoid security issues. Use of this introspector should be avoided for other purposes because it incurs the overhead of resolving the handler for a request.
- Since:
- 4.3.1
- Author:
- Rossen Stoyanchev
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.getCorsConfiguration
(HttpServletRequest request) Return aCorsConfiguration
based on the incoming request.Return the configured or detectedHandlerMapping
s.Find theHandlerMapping
that would handle the given request and return it as aMatchableHandlerMapping
that can be used to test request-matching criteria.void
setApplicationContext
(ApplicationContext applicationContext) Set the ApplicationContext that this object runs in.
-
Constructor Details
-
HandlerMappingIntrospector
public HandlerMappingIntrospector()
-
-
Method Details
-
setApplicationContext
Description copied from interface:ApplicationContextAware
Set the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.Invoked after population of normal bean properties but before an init callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked afterResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
,ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
andMessageSourceAware
, if applicable.- Specified by:
setApplicationContext
in interfaceApplicationContextAware
- Parameters:
applicationContext
- the ApplicationContext object to be used by this object- See Also:
-
afterPropertiesSet
public void afterPropertiesSet()Description copied from interface:InitializingBean
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-
getHandlerMappings
Return the configured or detectedHandlerMapping
s. -
getMatchableHandlerMapping
@Nullable public MatchableHandlerMapping getMatchableHandlerMapping(HttpServletRequest request) throws Exception Find theHandlerMapping
that would handle the given request and return it as aMatchableHandlerMapping
that can be used to test request-matching criteria.If the matching HandlerMapping is not an instance of
MatchableHandlerMapping
, an IllegalStateException is raised.- Parameters:
request
- the current request- Returns:
- the resolved matcher, or
null
- Throws:
Exception
- if any of the HandlerMapping's raise an exception
-
getCorsConfiguration
Description copied from interface:CorsConfigurationSource
Return aCorsConfiguration
based on the incoming request.- Specified by:
getCorsConfiguration
in interfaceCorsConfigurationSource
- Returns:
- the associated
CorsConfiguration
, ornull
if none
-