public abstract class AbstractHandlerMapping extends ApplicationObjectSupport implements HandlerMapping, Ordered, BeanNameAware
HandlerMapping
 implementations.loggerBEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTEHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description | 
|---|
| AbstractHandlerMapping() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected String | formatMappingName() | 
| protected CorsConfiguration | getCorsConfiguration(Object handler,
                    ServerWebExchange exchange)Retrieve the CORS configuration for the given handler. | 
| CorsProcessor | getCorsProcessor()Return the configured  CorsProcessor. | 
| 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 empty  Monoif no specific one is found. | 
| int | getOrder()Get the order value of this object. | 
| PathPatternParser | getPathPatternParser()Return the  PathPatternParserinstance that is used forCORS configuration checks. | 
| protected boolean | hasCorsConfigurationSource(Object handler)Return  trueif there is aCorsConfigurationSourcefor this handler. | 
| void | setBeanName(String name)Set the name of the bean in the bean factory that created this bean. | 
| void | setCorsConfigurations(Map<String,CorsConfiguration> corsConfigurations)Set the "global" CORS configurations based on URL patterns. | 
| void | setCorsConfigurationSource(CorsConfigurationSource corsConfigurationSource)Set the "global" CORS configuration source. | 
| void | setCorsProcessor(CorsProcessor corsProcessor)Configure a custom  CorsProcessorto use to apply the matchedCorsConfigurationfor a request. | 
| void | setOrder(int order)Specify the order value for this HandlerMapping bean. | 
| void | setUseCaseSensitiveMatch(boolean caseSensitiveMatch)Shortcut method for setting the same property on the underlying pattern
 parser in use. | 
| void | setUseTrailingSlashMatch(boolean trailingSlashMatch)Shortcut method for setting the same property on the underlying pattern
 parser in use. | 
getApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContextpublic void setUseCaseSensitiveMatch(boolean caseSensitiveMatch)
getPathPatternParser() -- the underlying pattern parser
 PathPatternParser.setCaseSensitive(boolean) -- the case
 sensitive slash option, including its default value.
 Note: aside from
public void setUseTrailingSlashMatch(boolean trailingSlashMatch)
getPathPatternParser() -- the underlying pattern parser
 PathPatternParser.setMatchOptionalTrailingSeparator(boolean) --
 the trailing slash option, including its default value.
 public PathPatternParser getPathPatternParser()
PathPatternParser instance that is used for
 CORS configuration checks.
 Sub-classes can also use this pattern parser for their own request
 mapping purposes.public void setCorsConfigurations(Map<String,CorsConfiguration> corsConfigurations)
public void setCorsConfigurationSource(CorsConfigurationSource corsConfigurationSource)
setCorsConfigurations(Map)public void setCorsProcessor(CorsProcessor corsProcessor)
CorsProcessor to use to apply the matched
 CorsConfiguration for a request.
 By default an instance of DefaultCorsProcessor is used.
public CorsProcessor getCorsProcessor()
CorsProcessor.public void setOrder(int order)
The default value is Ordered.LOWEST_PRECEDENCE, meaning non-ordered.
Ordered.getOrder()public int getOrder()
OrderedHigher 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-startup values).
 
Same order values will result in arbitrary sort positions for the affected objects.
getOrder in interface OrderedOrdered.HIGHEST_PRECEDENCE, 
Ordered.LOWEST_PRECEDENCEpublic void setBeanName(String name)
BeanNameAwareInvoked after population of normal bean properties but before an
 init callback such as InitializingBean.afterPropertiesSet()
 or a custom init-method.
setBeanName in interface BeanNameAwarename - 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.protected String formatMappingName()
public reactor.core.publisher.Mono<Object> getHandler(ServerWebExchange exchange)
HandlerMappinggetHandler in interface HandlerMappingexchange - current server exchangeMono that emits one value or none in case the request
 cannot be resolved to a handlerprotected abstract reactor.core.publisher.Mono<?> getHandlerInternal(ServerWebExchange exchange)
Mono
 if no specific one is found. This method is called by getHandler(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.
exchange - current exchangeMono for the matching handler, if anyprotected boolean hasCorsConfigurationSource(Object handler)
true if there is a CorsConfigurationSource for this handler.@Nullable protected CorsConfiguration getCorsConfiguration(Object handler, ServerWebExchange exchange)
handler - the handler to check (never null)exchange - the current exchangenull if none