public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMethodMapping<RequestMappingInfo>
RequestMappingInfo defines
the mapping between a request and a handler method.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 |
|---|
RequestMappingInfoHandlerMapping() |
| Modifier and Type | Method and Description |
|---|---|
protected Comparator<RequestMappingInfo> |
getMappingComparator(ServerWebExchange exchange)
Provide a Comparator to sort RequestMappingInfos matched to a request.
|
protected RequestMappingInfo |
getMatchingMapping(RequestMappingInfo info,
ServerWebExchange exchange)
Check if the given RequestMappingInfo matches the current request and
return a (potentially new) instance with conditions that match the
current request -- for example with a subset of URL patterns.
|
protected void |
handleMatch(RequestMappingInfo info,
HandlerMethod handlerMethod,
ServerWebExchange exchange)
Expose URI template variables, matrix variables, and producible media types in the request.
|
protected HandlerMethod |
handleNoMatch(Set<RequestMappingInfo> infos,
ServerWebExchange exchange)
Iterate all RequestMappingInfos once again, look if any match by URL at
least and raise exceptions accordingly.
|
afterPropertiesSet, createHandlerMethod, detectHandlerMethods, getCorsConfiguration, getHandlerInternal, getHandlerMethods, getMappingForMethod, handlerMethodsInitialized, initCorsConfiguration, initHandlerMethods, isHandler, lookupHandlerMethod, registerHandlerMethod, registerMapping, unregisterMappingformatMappingName, getCorsProcessor, getHandler, getOrder, getPathPatternParser, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setOrder, setUseCaseSensitiveMatch, setUseTrailingSlashMatchgetApplicationContext, getMessageSourceAccessor, initApplicationContext, initApplicationContext, isContextRequired, obtainApplicationContext, requiredContextClass, setApplicationContextprotected RequestMappingInfo getMatchingMapping(RequestMappingInfo info, ServerWebExchange exchange)
getMatchingMapping in class AbstractHandlerMethodMapping<RequestMappingInfo>info - the mapping to get a match forexchange - the current exchangenull otherwise.protected Comparator<RequestMappingInfo> getMappingComparator(ServerWebExchange exchange)
getMappingComparator in class AbstractHandlerMethodMapping<RequestMappingInfo>exchange - the current exchangenull)protected void handleMatch(RequestMappingInfo info, HandlerMethod handlerMethod, ServerWebExchange exchange)
handleMatch in class AbstractHandlerMethodMapping<RequestMappingInfo>info - the matching mappinghandlerMethod - the matching methodexchange - the current exchangeHandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE,
HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE,
HandlerMapping.PRODUCIBLE_MEDIA_TYPES_ATTRIBUTEprotected HandlerMethod handleNoMatch(Set<RequestMappingInfo> infos, ServerWebExchange exchange) throws Exception
handleNoMatch in class AbstractHandlerMethodMapping<RequestMappingInfo>infos - all registered mappingsexchange - the current exchangenullMethodNotAllowedException - for matches by URL but not by HTTP methodUnsupportedMediaTypeStatusException - if there are matches by URL
and HTTP method but not by consumable media typesNotAcceptableStatusException - if there are matches by URL and HTTP
method but not by producible media typesServerWebInputException - if there are matches by URL and HTTP
method but not by query parameter conditionsException - provides details that can be translated into an error status code