Class RepositoryRestHandlerMapping
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.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
org.springframework.data.rest.webmvc.BasePathAwareHandlerMapping
org.springframework.data.rest.webmvc.RepositoryRestHandlerMapping
- All Implemented Interfaces:
Aware
,BeanNameAware
,InitializingBean
,ApplicationContextAware
,EmbeddedValueResolverAware
,Ordered
,ServletContextAware
,MatchableHandlerMapping
,HandlerMapping
RequestMappingHandlerMapping
implementation that will only find a handler method if a
Repository
is exported under that URL path segment. Also ensures the
OpenEntityManagerInViewInterceptor
is registered in the application context. The OEMIVI is required for the
REST exporter to function properly.- Author:
- Jon Brisbin, Oliver Gierke, Mark Paluch
-
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
ConstructorDescriptionRepositoryRestHandlerMapping
(ResourceMappings mappings, RepositoryRestConfiguration config) Creates a newRepositoryRestHandlerMapping
for the givenResourceMappings
andRepositoryRestConfiguration
.RepositoryRestHandlerMapping
(ResourceMappings mappings, RepositoryRestConfiguration config, Repositories repositories) Creates a newRepositoryRestHandlerMapping
for the givenResourceMappings
RepositoryRestConfiguration
andRepositories
. -
Method Summary
Modifier and TypeMethodDescriptionprotected ProducesRequestCondition
customize
(ProducesRequestCondition condition) Customize the givenProducesRequestCondition
.protected void
extendInterceptors
(List<Object> interceptors) protected CorsConfiguration
getCorsConfiguration
(Object handler, jakarta.servlet.http.HttpServletRequest request) protected HandlerMethod
handleNoMatch
(Set<RequestMappingInfo> requestMappingInfos, String lookupPath, jakarta.servlet.http.HttpServletRequest request) protected boolean
isHandlerInternal
(Class<?> type) Returns whether the given controller type is considered a handler.protected HandlerMethod
lookupHandlerMethod
(String lookupPath, jakarta.servlet.http.HttpServletRequest request) void
setEmbeddedValueResolver
(StringValueResolver resolver) void
setJpaHelper
(JpaHelper jpaHelper) Methods inherited from class org.springframework.data.rest.webmvc.BasePathAwareHandlerMapping
getMappingForMethod, hasCorsConfigurationSource, isHandler
Methods inherited from class org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
afterPropertiesSet, createRequestMappingInfo, createRequestMappingInfo, getBuilderConfiguration, getContentNegotiationManager, getCustomMethodCondition, getCustomTypeCondition, getFileExtensions, getPathPrefixes, initCorsConfiguration, match, registerHandlerMethod, registerMapping, resolveEmbeddedValuesInPatterns, setContentNegotiationManager, setPathPrefixes, setPatternParser, setUseRegisteredSuffixPatternMatch, setUseSuffixPatternMatch, setUseTrailingSlashMatch, useRegisteredSuffixPatternMatch, useSuffixPatternMatch, useTrailingSlashMatch
Methods inherited from class org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
getDirectPaths, getHandlerInternal, getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatch
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
createHandlerMethod, detectHandlerMethods, getCandidateBeanNames, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, initHandlerMethods, processCandidateBean, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, 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
-
Field Details
-
DEFAULT_ALLOWED_METHODS
-
-
Constructor Details
-
RepositoryRestHandlerMapping
Creates a newRepositoryRestHandlerMapping
for the givenResourceMappings
andRepositoryRestConfiguration
.- Parameters:
mappings
- must not be null.config
- must not be null.
-
RepositoryRestHandlerMapping
public RepositoryRestHandlerMapping(ResourceMappings mappings, RepositoryRestConfiguration config, Repositories repositories) Creates a newRepositoryRestHandlerMapping
for the givenResourceMappings
RepositoryRestConfiguration
andRepositories
.- Parameters:
mappings
- must not be null.config
- must not be null.repositories
- must not be null.
-
-
Method Details
-
setJpaHelper
- Parameters:
jpaHelper
- the jpaHelper to set
-
setEmbeddedValueResolver
- Specified by:
setEmbeddedValueResolver
in interfaceEmbeddedValueResolverAware
- Overrides:
setEmbeddedValueResolver
in classRequestMappingHandlerMapping
-
lookupHandlerMethod
protected HandlerMethod lookupHandlerMethod(String lookupPath, jakarta.servlet.http.HttpServletRequest request) throws Exception - Overrides:
lookupHandlerMethod
in classBasePathAwareHandlerMapping
- Throws:
Exception
-
handleNoMatch
protected HandlerMethod handleNoMatch(Set<RequestMappingInfo> requestMappingInfos, String lookupPath, jakarta.servlet.http.HttpServletRequest request) throws jakarta.servlet.ServletException - Overrides:
handleNoMatch
in classRequestMappingInfoHandlerMapping
- Throws:
jakarta.servlet.ServletException
-
isHandlerInternal
Description copied from class:BasePathAwareHandlerMapping
Returns whether the given controller type is considered a handler.- Overrides:
isHandlerInternal
in classBasePathAwareHandlerMapping
- Parameters:
type
- will never be null.- Returns:
-
extendInterceptors
- Overrides:
extendInterceptors
in classAbstractHandlerMapping
-
customize
Description copied from class:BasePathAwareHandlerMapping
Customize the givenProducesRequestCondition
. Default implementation returns the condition as is.- Overrides:
customize
in classBasePathAwareHandlerMapping
- Parameters:
condition
- will never be null.- Returns:
-
getCorsConfiguration
protected CorsConfiguration getCorsConfiguration(Object handler, jakarta.servlet.http.HttpServletRequest request) - Overrides:
getCorsConfiguration
in classAbstractHandlerMethodMapping<RequestMappingInfo>
-