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.HandlerMapping
- Direct Known Subclasses:
AdditionalHealthEndpointPathsWebMvcHandlerMapping,WebMvcEndpointHandlerMapping
@ImportRuntimeHints(org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.AbstractWebMvcEndpointHandlerMappingRuntimeHints.class)
public abstract class AbstractWebMvcEndpointHandlerMapping
extends org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
implements org.springframework.beans.factory.InitializingBean
A custom
HandlerMapping that makes web endpoints
available over HTTP using Spring MVC.- Since:
- 2.0.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static interfaceHandler providing actuator links at the root endpoint.protected static interfaceA servlet web operation that can be handled by Spring MVC. -
Field Summary
Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
mappingsLoggerFields inherited from class org.springframework.context.support.ApplicationObjectSupport
loggerFields 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_ATTRIBUTEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionAbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, boolean shouldRegisterLinksMapping) Creates a newWebEndpointHandlerMappingthat provides mappings for the operations of the givenwebEndpoints.AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, org.springframework.web.cors.CorsConfiguration corsConfiguration, boolean shouldRegisterLinksMapping) Creates a newAbstractWebMvcEndpointHandlerMappingthat provides mappings for the operations of the given endpoints. -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected org.springframework.web.method.HandlerMethodcreateHandlerMethod(Object handler, Method method) protected voidextendInterceptors(List<Object> interceptors) Return the web endpoints being mapped.protected abstract AbstractWebMvcEndpointHandlerMapping.LinksHandlerReturn the Handler providing actuator links at the root endpoint.protected org.springframework.web.servlet.mvc.method.RequestMappingInfogetMappingForMethod(Method method, Class<?> handlerType) protected booleanhasCorsConfigurationSource(Object handler) protected org.springframework.web.cors.CorsConfigurationinitCorsConfiguration(Object handler, Method method, org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping) protected voidprotected booleanprotected voidregisterMapping(ExposableWebEndpoint endpoint, WebOperationRequestPredicate predicate, WebOperation operation, String path) wrapServletWebOperation(ExposableWebEndpoint endpoint, WebOperation operation, AbstractWebMvcEndpointHandlerMapping.ServletWebOperation servletWebOperation) Hook point that allows subclasses to wrap theAbstractWebMvcEndpointHandlerMapping.ServletWebOperationbefore it's called.Methods inherited from class org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
getDirectPaths, getHandlerInternal, getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch, handleNoMatchMethods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
detectHandlerMethods, getCandidateBeanNames, getCorsConfiguration, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, lookupHandlerMethod, processCandidateBean, registerHandlerMethod, registerMapping, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, setPatternParser, unregisterMappingMethods 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, usesPathPatternsMethods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextMethods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, obtainApplicationContext, requiredContextClass, setApplicationContext
-
Constructor Details
-
AbstractWebMvcEndpointHandlerMapping
public AbstractWebMvcEndpointHandlerMapping(EndpointMapping endpointMapping, Collection<ExposableWebEndpoint> endpoints, EndpointMediaTypes endpointMediaTypes, boolean shouldRegisterLinksMapping) Creates a newWebEndpointHandlerMappingthat 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, org.springframework.web.cors.CorsConfiguration corsConfiguration, boolean shouldRegisterLinksMapping) Creates a newAbstractWebMvcEndpointHandlerMappingthat 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 ornullshouldRegisterLinksMapping- whether the links endpoint should be registered
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Overrides:
afterPropertiesSetin classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
initHandlerMethods
protected void initHandlerMethods()- Overrides:
initHandlerMethodsin 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:
createHandlerMethodin classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
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.ServletWebOperationbefore 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:
hasCorsConfigurationSourcein classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
initCorsConfiguration
protected org.springframework.web.cors.CorsConfiguration initCorsConfiguration(Object handler, Method method, org.springframework.web.servlet.mvc.method.RequestMappingInfo mapping) - Overrides:
initCorsConfigurationin classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
isHandler
- Specified by:
isHandlerin 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:
getMappingForMethodin classorg.springframework.web.servlet.handler.AbstractHandlerMethodMapping<org.springframework.web.servlet.mvc.method.RequestMappingInfo>
-
extendInterceptors
- Overrides:
extendInterceptorsin classorg.springframework.web.servlet.handler.AbstractHandlerMapping
-
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
-