org.springframework.web.servlet.mvc.method
Class RequestMappingInfoHandlerMapping
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.handler.AbstractHandlerMapping
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping<RequestMappingInfo>
org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
- All Implemented Interfaces:
- Aware, ApplicationContextAware, Ordered, ServletContextAware, HandlerMapping
- Direct Known Subclasses:
- RequestMappingHandlerMapping
public abstract class RequestMappingInfoHandlerMapping
- extends AbstractHandlerMethodMapping<RequestMappingInfo>
Abstract base class for classes for which RequestMappingInfo
defines
the mapping between a request and a handler method.
- Since:
- 3.1.0
- Author:
- Arjen Poutsma, Rossen Stoyanchev
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping |
detectHandlerMethods, getHandlerInternal, getHandlerMethods, getMappingForMethod, handlerMethodsInitialized, initApplicationContext, initHandlerMethods, isHandler, lookupHandlerMethod, registerHandlerMethod, setDetectHandlerMethodsInAncestorContexts |
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping |
adaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initInterceptors, setAlwaysUseFullPath, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setUrlDecode, setUrlPathHelper |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RequestMappingInfoHandlerMapping
public RequestMappingInfoHandlerMapping()
getMappingPathPatterns
protected Set<String> getMappingPathPatterns(RequestMappingInfo info)
- Get the URL path patterns associated with this
RequestMappingInfo
.
- Specified by:
getMappingPathPatterns
in class AbstractHandlerMethodMapping<RequestMappingInfo>
getMatchingMapping
protected RequestMappingInfo getMatchingMapping(RequestMappingInfo info,
HttpServletRequest request)
- 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.
- Specified by:
getMatchingMapping
in class AbstractHandlerMethodMapping<RequestMappingInfo>
- Parameters:
info
- the mapping to get a match forrequest
- the current HTTP servlet request
- Returns:
- the match, or
null
if the mapping doesn't match
getMappingComparator
protected Comparator<RequestMappingInfo> getMappingComparator(HttpServletRequest request)
- Provide a Comparator to sort RequestMappingInfos matched to a request.
- Specified by:
getMappingComparator
in class AbstractHandlerMethodMapping<RequestMappingInfo>
- Parameters:
request
- the current request
- Returns:
- the comparator, never
null
handleMatch
protected void handleMatch(RequestMappingInfo info,
String lookupPath,
HttpServletRequest request)
- Expose URI template variables and producible media types in the request.
- Overrides:
handleMatch
in class AbstractHandlerMethodMapping<RequestMappingInfo>
- Parameters:
info
- the matching mappinglookupPath
- mapping lookup path within the current servlet mappingrequest
- the current request- See Also:
HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE
,
HandlerMapping.PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE
handleNoMatch
protected HandlerMethod handleNoMatch(Set<RequestMappingInfo> requestMappingInfos,
String lookupPath,
HttpServletRequest request)
throws ServletException
- Iterate all RequestMappingInfos once again, look if any match by URL at
least and raise exceptions accordingly.
- Overrides:
handleNoMatch
in class AbstractHandlerMethodMapping<RequestMappingInfo>
- Parameters:
requestMappingInfos
- all registered mappingslookupPath
- mapping lookup path within the current servlet mappingrequest
- the current request
- Throws:
HttpRequestMethodNotSupportedException
- if there are matches by URL but not by HTTP method
HttpMediaTypeNotAcceptableException
- if there are matches by URL but not by consumable media types
HttpMediaTypeNotAcceptableException
- if there are matches by URL but not by producible media types
ServletException
- in case of errors