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, InitializingBean, 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 |
afterPropertiesSet, detectHandlerMethods, getHandlerInternal, getHandlerMethods, getMappingForMethod, handlerMethodsInitialized, 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, initApplicationContext, 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