Class AbstractHandlerMapping
- All Implemented Interfaces:
- Aware,- BeanNameAware,- ApplicationContextAware,- Ordered,- HandlerMapping
- Direct Known Subclasses:
- AbstractHandlerMethodMapping,- AbstractUrlHandlerMapping,- RouterFunctionMapping
HandlerMapping
 implementations.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller, Brian Clozel
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final LogDedicated "hidden" logger for request mappings.Fields inherited from class org.springframework.context.support.ApplicationObjectSupportloggerFields inherited from interface org.springframework.web.reactive.HandlerMappingBEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTEFields inherited from interface org.springframework.core.OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected Stringprotected CorsConfigurationgetCorsConfiguration(Object handler, ServerWebExchange exchange) Retrieve the CORS configuration for the given handler.Return the configuredCorsProcessor.reactor.core.publisher.Mono<Object>getHandler(ServerWebExchange exchange) Return a handler for this request.protected abstract reactor.core.publisher.Mono<?>getHandlerInternal(ServerWebExchange exchange) Look up a handler for the given request, returning an emptyMonoif no specific one is found.intgetOrder()Get the order value of this object.Return thePathPatternParserinstance that is used forCORS configuration checks.protected booleanhasCorsConfigurationSource(Object handler) Returntrueif there is aCorsConfigurationSourcefor this handler.voidsetBeanName(String name) Set the name of the bean in the bean factory that created this bean.voidsetCorsConfigurations(Map<String, CorsConfiguration> corsConfigurations) Set the "global" CORS configurations based on URL patterns.voidsetCorsConfigurationSource(CorsConfigurationSource corsConfigurationSource) Set the "global" CORS configuration source.voidsetCorsProcessor(CorsProcessor corsProcessor) Configure a customCorsProcessorto use to apply the matchedCorsConfigurationfor a request.voidsetOrder(int order) Specify the order value for this HandlerMapping bean.voidsetUseCaseSensitiveMatch(boolean caseSensitiveMatch) Shortcut method for setting the same property on the underlying pattern parser in use.voidsetUseTrailingSlashMatch(boolean trailingSlashMatch) Deprecated.Methods inherited from class org.springframework.context.support.ApplicationObjectSupportgetApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContext
- 
Field Details- 
mappingsLoggerDedicated "hidden" logger for request mappings.
 
- 
- 
Constructor Details- 
AbstractHandlerMappingpublic AbstractHandlerMapping()
 
- 
- 
Method Details- 
setUseCaseSensitiveMatchpublic void setUseCaseSensitiveMatch(boolean caseSensitiveMatch) Shortcut method for setting the same property on the underlying pattern parser in use. For more details see:- getPathPatternParser()-- the underlying pattern parser
- PathPatternParser.setCaseSensitive(boolean)-- the case sensitive slash option, including its default value.
 Note: aside from 
- 
setUseTrailingSlashMatchDeprecated.as of 6.0, seePathPatternParser.setMatchOptionalTrailingSeparator(boolean)Shortcut method for setting the same property on the underlying pattern parser in use. For more details see:- getPathPatternParser()-- the underlying pattern parser
- PathPatternParser.setMatchOptionalTrailingSeparator(boolean)-- the trailing slash option, including its default value.
 The default was changed in 6.0 from truetofalsein order to support the deprecation of the property.
- 
getPathPatternParserReturn thePathPatternParserinstance that is used forCORS configuration checks. Subclasses can also use this pattern parser for their own request mapping purposes.
- 
setCorsConfigurationsSet the "global" CORS configurations based on URL patterns. By default, the first matching URL pattern is combined with handler-level CORS configuration if any.
- 
setCorsConfigurationSourceSet the "global" CORS configuration source. By default, the first matching URL pattern is combined with the CORS configuration for the handler, if any.- Since:
- 5.1
- See Also:
 
- 
setCorsProcessorConfigure a customCorsProcessorto use to apply the matchedCorsConfigurationfor a request.By default an instance of DefaultCorsProcessoris used.
- 
getCorsProcessorReturn the configuredCorsProcessor.
- 
setOrderpublic void setOrder(int order) Specify the order value for this HandlerMapping bean.The default value is Ordered.LOWEST_PRECEDENCE, meaning non-ordered.- See Also:
 
- 
getOrderpublic int getOrder()Description copied from interface:OrderedGet the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet load-on-startupvalues).Same order values will result in arbitrary sort positions for the affected objects. 
- 
setBeanNameDescription copied from interface:BeanNameAwareSet the name of the bean in the bean factory that created this bean.Invoked after population of normal bean properties but before an init callback such as InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
- setBeanNamein interface- BeanNameAware
- Parameters:
- name- the name of the bean in the factory. Note that this name is the actual bean name used in the factory, which may differ from the originally specified name: in particular for inner bean names, the actual bean name might have been made unique through appending "#..." suffixes. Use the- BeanFactoryUtils.originalBeanName(String)method to extract the original bean name (without suffix), if desired.
 
- 
formatMappingName
- 
getHandlerDescription copied from interface:HandlerMappingReturn a handler for this request.Before returning a handler, an implementing method should check for CORS configuration associated with the handler, apply validation checks based on it, and update the response accordingly. For pre-flight requests, the same should be done based on the handler matching to the expected actual request. - Specified by:
- getHandlerin interface- HandlerMapping
- Parameters:
- exchange- current server exchange
- Returns:
- a Monothat emits one value or none in case the request cannot be resolved to a handler
 
- 
getHandlerInternalLook up a handler for the given request, returning an emptyMonoif no specific one is found. This method is called bygetHandler(org.springframework.web.server.ServerWebExchange).On CORS pre-flight requests this method should return a match not for the pre-flight request but for the expected actual request based on the URL path, the HTTP methods from the "Access-Control-Request-Method" header, and the headers from the "Access-Control-Request-Headers" header. - Parameters:
- exchange- current exchange
- Returns:
- Monofor the matching handler, if any
 
- 
hasCorsConfigurationSourceReturntrueif there is aCorsConfigurationSourcefor this handler.- Since:
- 5.2
 
- 
getCorsConfiguration@Nullable protected CorsConfiguration getCorsConfiguration(Object handler, ServerWebExchange exchange) Retrieve the CORS configuration for the given handler.- Parameters:
- handler- the handler to check (never- null)
- exchange- the current exchange
- Returns:
- the CORS configuration for the handler, or nullif none
 
 
- 
PathPatternParser.setMatchOptionalTrailingSeparator(boolean)