Class AbstractWebMvcEndpointHandlerMapping
- 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<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
- org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
- org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
,org.springframework.core.Ordered
,org.springframework.web.context.ServletContextAware
,org.springframework.web.servlet.handler.MatchableHandlerMapping
,org.springframework.web.servlet.HandlerMapping
- Direct Known Subclasses:
WebMvcEndpointHandlerMapping
public abstract class AbstractWebMvcEndpointHandlerMapping extends org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping implements org.springframework.beans.factory.InitializingBean, org.springframework.web.servlet.handler.MatchableHandlerMapping
A customHandlerMapping
that makesweb endpoints
available over HTTP using Spring MVC.- Since:
- 2.0.0
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
AbstractWebMvcEndpointHandlerMapping.LinksHandler
Handler providing actuator links at the root endpoint.protected static interface
AbstractWebMvcEndpointHandlerMapping.ServletWebOperation
A servlet web operation that can be handled by Spring MVC.
Field Summary
Fields inherited from interface org.springframework.web.servlet.HandlerMapping
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
Constructor Summary
Constructors Constructor Description AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes)
Creates a newWebEndpointHandlerMapping
that provides mappings for the operations of the givenwebEndpoints
.AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, org.springframework.web.cors.CorsConfiguration corsConfiguration)
Creates a newAbstractWebMvcEndpointHandlerMapping
that provides mappings for the operations of the given endpoints.
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected org.springframework.web.method.HandlerMethod
createHandlerMethod(Object handler, Method method)
protected void
extendInterceptors(List<Object> interceptors)
Collection<ExposableWebEndpoint>
getEndpoints()
Return the web endpoints being mapped.protected abstract AbstractWebMvcEndpointHandlerMapping.LinksHandler
getLinksHandler()
Return the Handler providing actuator links at the root endpoint.protected org.springframework.web.servlet.mvc.method.RequestMappingInfo
getMappingForMethod(Method method, Class<?> handlerType)
protected org.springframework.web.cors.CorsConfiguration
initCorsConfiguration(Object handler, Method method, org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping)
protected void
initHandlerMethods()
protected boolean
isHandler(Class<?> beanType)
org.springframework.web.servlet.handler.RequestMatchResult
match(javax.servlet.http.HttpServletRequest request, String pattern)
protected AbstractWebMvcEndpointHandlerMapping.ServletWebOperation
wrapServletWebOperation(ExposableWebEndpoint endpoint, WebOperation operation, AbstractWebMvcEndpointHandlerMapping.ServletWebOperation servletWebOperation)
Hook point that allows subclasses to wrap theAbstractWebMvcEndpointHandlerMapping.ServletWebOperation
before it's called.Methods inherited from class org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch, handleNoMatch
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
afterPropertiesSet, detectHandlerMethods, getCandidateBeanNames, getCorsConfiguration, getHandlerInternal, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, lookupHandlerMethod, processCandidateBean, registerHandlerMethod, registerMapping, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, unregisterMapping
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
adaptInterceptor, detectMappedInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfigurations, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initApplicationContext, initInterceptors, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
Constructor Detail
AbstractWebMvcEndpointHandlerMapping
public AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes)
Creates a newWebEndpointHandlerMapping
that provides mappings for the operations of the givenwebEndpoints
.- Parameters:
endpointMapping
- the base mapping for all endpointsendpoints
- the web endpointsendpointMediaTypes
- media types consumed and produced by the endpoints
AbstractWebMvcEndpointHandlerMapping
public AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, org.springframework.web.cors.CorsConfiguration corsConfiguration)
Creates a newAbstractWebMvcEndpointHandlerMapping
that provides mappings for the operations of the given endpoints.- Parameters:
endpointMapping
- the base mapping for all endpointsendpoints
- the web endpointsendpointMediaTypes
- media types consumed and produced by the endpointscorsConfiguration
- the CORS configuration for the endpoints ornull
Method Detail
initHandlerMethods
protected void initHandlerMethods()
- Overrides:
initHandlerMethods
in classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
createHandlerMethod
protected org.springframework.web.method.HandlerMethod createHandlerMethod(Object handler, Method method)
- Overrides:
createHandlerMethod
in classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
match
public org.springframework.web.servlet.handler.RequestMatchResult match(javax.servlet.http.HttpServletRequest request, String pattern)
- Specified by:
match
in interfaceorg.springframework.web.servlet.handler.MatchableHandlerMapping
wrapServletWebOperation
protected AbstractWebMvcEndpointHandlerMapping.ServletWebOperation wrapServletWebOperation(ExposableWebEndpoint endpoint, WebOperation operation, AbstractWebMvcEndpointHandlerMapping.ServletWebOperation servletWebOperation)
Hook point that allows subclasses to wrap theAbstractWebMvcEndpointHandlerMapping.ServletWebOperation
before it's called. Allows additional features, such as security, to be added.- Parameters:
endpoint
- the source endpointoperation
- the source operationservletWebOperation
- the servlet web operation to wrap- Returns:
- a wrapped servlet web operation
initCorsConfiguration
protected org.springframework.web.cors.CorsConfiguration initCorsConfiguration(Object handler, Method method, org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping)
- Overrides:
initCorsConfiguration
in classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
isHandler
protected boolean isHandler(Class<?> beanType)
- Specified by:
isHandler
in classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
getMappingForMethod
protected org.springframework.web.servlet.mvc.method.RequestMappingInfo getMappingForMethod(Method method, Class<?> handlerType)
- Specified by:
getMappingForMethod
in classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
extendInterceptors
protected void extendInterceptors(List<Object> interceptors)
- Overrides:
extendInterceptors
in classorg.springframework.web.servlet.handler.AbstractHandlerMapping
getLinksHandler
protected abstract AbstractWebMvcEndpointHandlerMapping.LinksHandler getLinksHandler()
Return the Handler providing actuator links at the root endpoint.- Returns:
- the links handler
getEndpoints
public Collection<ExposableWebEndpoint> getEndpoints()
Return the web endpoints being mapped.- Returns:
- the endpoints