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<RequestMappingInfo>
org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping
- All Implemented Interfaces:
Aware
,BeanNameAware
,InitializingBean
,ApplicationContextAware
,Ordered
,ServletContextAware
,MatchableHandlerMapping
,HandlerMapping
- Direct Known Subclasses:
AdditionalHealthEndpointPathsWebMvcHandlerMapping
,WebMvcEndpointHandlerMapping
public abstract class AbstractWebMvcEndpointHandlerMapping
extends RequestMappingInfoHandlerMapping
implements InitializingBean, MatchableHandlerMapping
A custom
HandlerMapping
that makes web endpoints
available over HTTP using Spring MVC.- Since:
- 2.0.0
- Author:
- Andy Wilkinson, Madhura Bhave, Phillip Webb, Brian Clozel
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static interface
Handler providing actuator links at the root endpoint.protected static interface
A servlet web operation that can be handled by Spring MVC. -
Field Summary
Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
mappingsLogger
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.web.servlet.HandlerMapping
BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionAbstractWebMvcEndpointHandlerMapping
(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, boolean shouldRegisterLinksMapping) Creates a newWebEndpointHandlerMapping
that provides mappings for the operations of the givenwebEndpoints
.AbstractWebMvcEndpointHandlerMapping
(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, CorsConfiguration corsConfiguration, boolean shouldRegisterLinksMapping) Creates a newAbstractWebMvcEndpointHandlerMapping
that provides mappings for the operations of the given endpoints.AbstractWebMvcEndpointHandlerMapping
(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, CorsConfiguration corsConfiguration, boolean shouldRegisterLinksMapping, PathPatternParser pathPatternParser) Creates a newAbstractWebMvcEndpointHandlerMapping
that provides mappings for the operations of the given endpoints. -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected HandlerMethod
createHandlerMethod
(Object handler, Method method) protected void
extendInterceptors
(List<Object> interceptors) Return the web endpoints being mapped.protected abstract AbstractWebMvcEndpointHandlerMapping.LinksHandler
Return the Handler providing actuator links at the root endpoint.protected RequestMappingInfo
getMappingForMethod
(Method method, Class<?> handlerType) protected boolean
hasCorsConfigurationSource
(Object handler) protected CorsConfiguration
initCorsConfiguration
(Object handler, Method method, RequestMappingInfo mapping) protected void
protected boolean
match
(HttpServletRequest request, String pattern) protected void
registerMapping
(ExposableWebEndpoint endpoint, WebOperationRequestPredicate predicate, WebOperation operation, String path) 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
getDirectPaths, getHandlerInternal, getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch, handleNoMatch
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
detectHandlerMethods, getCandidateBeanNames, getCorsConfiguration, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, lookupHandlerMethod, processCandidateBean, registerHandlerMethod, registerMapping, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, setPatternParser, unregisterMapping
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
adaptInterceptor, detectMappedInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, initApplicationContext, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.web.servlet.HandlerMapping
getHandler, usesPathPatterns
Methods inherited from interface org.springframework.web.servlet.handler.MatchableHandlerMapping
getPatternParser
-
Constructor Details
-
AbstractWebMvcEndpointHandlerMapping
public AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, boolean shouldRegisterLinksMapping) 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 endpointsshouldRegisterLinksMapping
- whether the links endpoint should be registered
-
AbstractWebMvcEndpointHandlerMapping
public AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, CorsConfiguration corsConfiguration, boolean shouldRegisterLinksMapping) 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
shouldRegisterLinksMapping
- whether the links endpoint should be registered
-
AbstractWebMvcEndpointHandlerMapping
public AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, CorsConfiguration corsConfiguration, boolean shouldRegisterLinksMapping, PathPatternParser pathPatternParser) 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
shouldRegisterLinksMapping
- whether the links endpoint should be registeredpathPatternParser
- the path pattern parser
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceInitializingBean
- Overrides:
afterPropertiesSet
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
initHandlerMethods
protected void initHandlerMethods()- Overrides:
initHandlerMethods
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
createHandlerMethod
- Overrides:
createHandlerMethod
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
match
- Specified by:
match
in interfaceMatchableHandlerMapping
-
registerMapping
protected void registerMapping(ExposableWebEndpoint endpoint, WebOperationRequestPredicate predicate, WebOperation operation, String path) -
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
-
hasCorsConfigurationSource
- Overrides:
hasCorsConfigurationSource
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
initCorsConfiguration
protected CorsConfiguration initCorsConfiguration(Object handler, Method method, RequestMappingInfo mapping) - Overrides:
initCorsConfiguration
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
isHandler
- Specified by:
isHandler
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
getMappingForMethod
- Specified by:
getMappingForMethod
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-
extendInterceptors
- Overrides:
extendInterceptors
in classAbstractHandlerMapping
-
getLinksHandler
Return the Handler providing actuator links at the root endpoint.- Returns:
- the links handler
-
getEndpoints
Return the web endpoints being mapped.- Returns:
- the endpoints
-