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
FieldsFields 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
ConstructorsConstructorDescriptionRepositoryRestHandlerMapping(ResourceMappings mappings, RepositoryRestConfiguration config) Creates a newRepositoryRestHandlerMappingfor the givenResourceMappingsandRepositoryRestConfiguration.RepositoryRestHandlerMapping(ResourceMappings mappings, RepositoryRestConfiguration config, Repositories repositories) Creates a newRepositoryRestHandlerMappingfor the givenResourceMappingsRepositoryRestConfigurationandRepositories. -
Method Summary
Modifier and TypeMethodDescriptionprotected ProducesRequestConditioncustomize(ProducesRequestCondition condition) Customize the givenProducesRequestCondition.protected voidextendInterceptors(List<Object> interceptors) protected CorsConfigurationgetCorsConfiguration(Object handler, jakarta.servlet.http.HttpServletRequest request) protected HandlerMethodhandleNoMatch(Set<RequestMappingInfo> requestMappingInfos, String lookupPath, jakarta.servlet.http.HttpServletRequest request) protected booleanisHandlerInternal(Class<?> type) Returns whether the given controller type is considered a handler.protected HandlerMethodlookupHandlerMethod(String lookupPath, jakarta.servlet.http.HttpServletRequest request) voidsetEmbeddedValueResolver(StringValueResolver resolver) voidsetJpaHelper(JpaHelper jpaHelper) Methods inherited from class org.springframework.data.rest.webmvc.BasePathAwareHandlerMapping
getMappingForMethod, hasCorsConfigurationSource, isHandlerMethods 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, useTrailingSlashMatchMethods inherited from class org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping
getDirectPaths, getHandlerInternal, getMappingComparator, getMappingPathPatterns, getMatchingMapping, handleMatchMethods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
createHandlerMethod, detectHandlerMethods, getCandidateBeanNames, getHandlerMethods, getHandlerMethodsForMappingName, getNamingStrategy, handlerMethodsInitialized, initHandlerMethods, processCandidateBean, setDetectHandlerMethodsInAncestorContexts, setHandlerMethodMappingNamingStrategy, 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, setApplicationContextMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.web.servlet.HandlerMapping
getHandler, usesPathPatternsMethods inherited from interface org.springframework.web.servlet.handler.MatchableHandlerMapping
getPatternParser
-
Field Details
-
DEFAULT_ALLOWED_METHODS
-
-
Constructor Details
-
RepositoryRestHandlerMapping
Creates a newRepositoryRestHandlerMappingfor the givenResourceMappingsandRepositoryRestConfiguration.- Parameters:
mappings- must not be null.config- must not be null.
-
RepositoryRestHandlerMapping
public RepositoryRestHandlerMapping(ResourceMappings mappings, RepositoryRestConfiguration config, Repositories repositories) Creates a newRepositoryRestHandlerMappingfor the givenResourceMappingsRepositoryRestConfigurationandRepositories.- 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:
setEmbeddedValueResolverin interfaceEmbeddedValueResolverAware- Overrides:
setEmbeddedValueResolverin classRequestMappingHandlerMapping
-
lookupHandlerMethod
protected HandlerMethod lookupHandlerMethod(String lookupPath, jakarta.servlet.http.HttpServletRequest request) throws Exception - Overrides:
lookupHandlerMethodin classBasePathAwareHandlerMapping- Throws:
Exception
-
handleNoMatch
protected HandlerMethod handleNoMatch(Set<RequestMappingInfo> requestMappingInfos, String lookupPath, jakarta.servlet.http.HttpServletRequest request) throws jakarta.servlet.ServletException - Overrides:
handleNoMatchin classRequestMappingInfoHandlerMapping- Throws:
jakarta.servlet.ServletException
-
isHandlerInternal
Description copied from class:BasePathAwareHandlerMappingReturns whether the given controller type is considered a handler.- Overrides:
isHandlerInternalin classBasePathAwareHandlerMapping- Parameters:
type- will never be null.- Returns:
-
extendInterceptors
- Overrides:
extendInterceptorsin classAbstractHandlerMapping
-
customize
Description copied from class:BasePathAwareHandlerMappingCustomize the givenProducesRequestCondition. Default implementation returns the condition as is.- Overrides:
customizein classBasePathAwareHandlerMapping- Parameters:
condition- will never be null.- Returns:
-
getCorsConfiguration
protected CorsConfiguration getCorsConfiguration(Object handler, jakarta.servlet.http.HttpServletRequest request) - Overrides:
getCorsConfigurationin classAbstractHandlerMethodMapping<RequestMappingInfo>
-