@Configuration(proxyBeanMethods=false) @EnableHypermediaSupport(type={HAL,HAL_FORMS}) @Import(value={org.springframework.data.rest.webmvc.config.RestControllerImportSelector.class,org.springframework.data.web.config.SpringDataJacksonConfiguration.class,org.springframework.data.web.config.EnableSpringDataWebSupport.QuerydslActivator.class}) public class RepositoryRestMvcConfiguration extends org.springframework.data.web.config.HateoasAwareSpringDataWebConfiguration implements BeanClassLoaderAware, EmbeddedValueResolverAware
Any XML files located in the classpath under the META-INF/spring-data-rest/ path will be automatically
found and loaded into this ApplicationContext.
| Constructor and Description |
|---|
RepositoryRestMvcConfiguration(ApplicationContext context,
ObjectFactory<ConversionService> conversionService,
ObjectProvider<org.springframework.hateoas.server.LinkRelationProvider> relProvider,
ObjectProvider<org.springframework.hateoas.mediatype.hal.CurieProvider> curieProvider,
ObjectProvider<org.springframework.hateoas.mediatype.hal.HalConfiguration> halConfiguration,
ObjectProvider<com.fasterxml.jackson.databind.ObjectMapper> objectMapper,
ObjectProvider<org.springframework.hateoas.server.mvc.RepresentationModelProcessorInvoker> invoker,
ObjectProvider<org.springframework.hateoas.mediatype.MessageResolver> resolver,
ObjectProvider<org.springframework.data.geo.GeoModule> geoModule,
ObjectProvider<PathPatternParser> parser) |
| Modifier and Type | Method and Description |
|---|---|
void |
addResourceHandlers(ResourceHandlerRegistry registry) |
RootResourceInformationToAlpsDescriptorConverter |
alpsConverter(org.springframework.data.repository.support.Repositories repositories,
org.springframework.data.mapping.context.PersistentEntities persistentEntities,
RepositoryEntityLinks entityLinks,
EnumTranslator enumTranslator,
Associations associationLinks,
RepositoryRestConfiguration repositoryRestConfiguration) |
AlpsJsonHttpMessageConverter |
alpsJsonHttpMessageConverter(RootResourceInformationToAlpsDescriptorConverter alpsConverter) |
static AnnotatedEventHandlerInvoker |
annotatedEventHandlerInvoker() |
Associations |
associationLinks(RepositoryResourceMappings resourceMappings,
RepositoryRestConfiguration repositoryRestConfiguration) |
org.springframework.data.auditing.AuditableBeanWrapperFactory |
auditableBeanWrapperFactory(org.springframework.data.mapping.context.PersistentEntities persistentEntities) |
org.springframework.plugin.core.PluginRegistry<BackendIdConverter,Class<?>> |
backendIdConverterRegistry(List<BackendIdConverter> backendIdConverter) |
BackendIdHandlerMethodArgumentResolver |
backendIdHandlerMethodArgumentResolver(org.springframework.plugin.core.PluginRegistry<BackendIdConverter,Class<?>> backendIdConverterRegistry,
ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver,
BaseUri baseUri) |
BaseUri |
baseUri(RepositoryRestConfiguration repositoryRestConfiguration) |
protected com.fasterxml.jackson.databind.ObjectMapper |
basicObjectMapper() |
DefaultFormattingConversionService |
defaultConversionService(org.springframework.data.mapping.context.PersistentEntities persistentEntities,
org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory,
org.springframework.data.repository.support.Repositories repositories) |
List<HttpMessageConverter<?>> |
defaultMessageConverters(org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter jacksonHttpMessageConverter,
org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageConverter,
org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter halFormsJacksonHttpMessageConverter,
AlpsJsonHttpMessageConverter alpsJsonHttpMessageConverter,
UriListHttpMessageConverter uriListHttpMessageConverter,
RepositoryRestConfiguration repositoryRestConfiguration) |
protected List<HandlerMethodArgumentResolver> |
defaultMethodArgumentResolvers(SelfLinkProvider selfLinkProvider,
PersistentEntityResourceHandlerMethodArgumentResolver persistentEntityArgumentResolver,
RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver) |
RepositoryEntityLinks |
entityLinks(ObjectFactory<org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver> pageableResolver,
org.springframework.data.repository.support.Repositories repositories,
RepositoryResourceMappings resourceMappings,
org.springframework.plugin.core.PluginRegistry<BackendIdConverter,Class<?>> backendIdConverterRegistry,
RepositoryRestConfiguration repositoryRestConfiguration,
ObjectFactory<org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver> sortResolver)
A special
EntityLinks implementation that takes repository and current
configuration into account when generating links. |
EnumTranslator |
enumTranslator(org.springframework.hateoas.mediatype.MessageResolver resolver) |
ETagArgumentResolver |
eTagArgumentResolver() |
ExcerptProjector |
excerptProjector(RepositoryResourceMappings resourceMappings) |
void |
extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) |
protected List<EntityLookup<?>> |
getEntityLookups() |
org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter |
halJacksonHttpMessageConverter(LinkCollector linkCollector,
RepositoryRestConfiguration repositoryRestConfiguration) |
com.fasterxml.jackson.databind.ObjectMapper |
halObjectMapper(LinkCollector linkCollector) |
HttpHeadersPreparer |
httpHeadersPreparer(org.springframework.data.auditing.AuditableBeanWrapperFactory auditableBeanWrapperFactory) |
org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter |
jacksonHttpMessageConverter(RepositoryRestConfiguration repositoryRestConfiguration)
The
HttpMessageConverter used by Spring MVC to read and write JSON data. |
JpaHelper |
jpaHelper() |
PersistentEntityToJsonSchemaConverter |
jsonSchemaConverter(org.springframework.data.mapping.context.PersistentEntities persistentEntities,
Associations associationLinks,
org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory,
RepositoryRestConfiguration repositoryRestConfiguration)
Turns a domain class into a
JsonSchema. |
protected LinkCollector |
linkCollector(org.springframework.data.mapping.context.PersistentEntities persistentEntities,
SelfLinkProvider selfLinkProvider,
Associations associationLinks) |
MetadataConfiguration |
metadataConfiguration() |
com.fasterxml.jackson.databind.ObjectMapper |
objectMapper()
The Jackson
ObjectMapper used internally. |
org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver |
pageableResolver() |
org.springframework.data.mapping.context.PersistentEntities |
persistentEntities() |
PersistentEntityResourceHandlerMethodArgumentResolver |
persistentEntityArgumentResolver(List<HttpMessageConverter<?>> defaultMessageConverters,
RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver,
Associations associationLinks,
BackendIdHandlerMethodArgumentResolver backendIdHandlerMethodArgumentResolver,
org.springframework.data.mapping.context.PersistentEntities entities)
Reads incoming JSON into an entity.
|
protected com.fasterxml.jackson.databind.Module |
persistentEntityJackson2Module(LinkCollector linkCollector)
Jackson module responsible for intelligently serializing and deserializing JSON that corresponds to an entity.
|
ProfileResourceProcessor |
profileResourceProcessor(RepositoryRestConfiguration repositoryRestConfiguration) |
static ProjectionDefinitionRegistar |
projectionDefinitionRegistrar(ObjectFactory<RepositoryRestConfiguration> config) |
RootResourceInformationHandlerMethodArgumentResolver |
repoRequestArgumentResolver(org.springframework.data.repository.support.Repositories repositories,
ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver,
org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory)
A convenience resolver that pulls together all the information needed to service a request.
|
org.springframework.data.repository.support.Repositories |
repositories() |
RequestMappingHandlerAdapter |
repositoryExporterHandlerAdapter(ObjectProvider<Validator> validator,
List<HttpMessageConverter<?>> defaultMessageConverters,
AlpsJsonHttpMessageConverter alpsJsonHttpMessageConverter,
SelfLinkProvider selfLinkProvider,
PersistentEntityResourceHandlerMethodArgumentResolver persistentEntityArgumentResolver,
RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver,
RepositoryRestConfiguration repositoryRestConfiguration)
Special
HandlerAdapter that only recognizes handler methods defined in the
provided controller classes. |
org.springframework.data.repository.support.RepositoryInvokerFactory |
repositoryInvokerFactory() |
RepositoryRelProvider |
repositoryRelProvider(ObjectFactory<ResourceMappings> resourceMappings) |
<T extends RepositoryRestConfiguration & CorsConfigurationAware> |
repositoryRestConfiguration()
Main configuration for the REST exporter.
|
RepositoryRestExceptionHandler |
repositoryRestExceptionHandler() |
RepositoryResourceMappings |
resourceMappings(org.springframework.data.repository.support.Repositories repositories,
org.springframework.data.mapping.context.PersistentEntities persistentEntities,
RepositoryRestConfiguration repositoryRestConfiguration) |
ResourceMetadataHandlerMethodArgumentResolver |
resourceMetadataHandlerMethodArgumentResolver(org.springframework.data.repository.support.Repositories repositories,
RepositoryResourceMappings resourceMappings,
BaseUri baseUri) |
org.springframework.data.rest.webmvc.config.DelegatingHandlerMapping |
restHandlerMapping(org.springframework.data.repository.support.Repositories repositories,
RepositoryResourceMappings resourceMappings,
Optional<JpaHelper> jpaHelper,
RepositoryRestConfiguration repositoryRestConfiguration,
CorsConfigurationAware corsRestConfiguration)
The
HandlerMapping to delegate requests to Spring Data REST controllers. |
SelfLinkProvider |
selfLinkProvider(org.springframework.data.mapping.context.PersistentEntities persistentEntities,
RepositoryEntityLinks entityLinks,
ObjectProvider<ConversionService> conversionService) |
ServerHttpRequestMethodArgumentResolver |
serverHttpRequestMethodArgumentResolver()
Turns an
HttpServletRequest into a ServerHttpRequest. |
void |
setBeanClassLoader(ClassLoader classLoader) |
void |
setEmbeddedValueResolver(StringValueResolver resolver) |
org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver |
sortResolver() |
UriListHttpMessageConverter |
uriListHttpMessageConverter()
The
HttpMessageConverter used to create text/uri-list responses. |
ValidatingRepositoryEventListener |
validatingRepositoryEventListener(ObjectFactory<org.springframework.data.mapping.context.PersistentEntities> entities)
ApplicationListener implementation for invoking
Validator instances assigned to specific domain types. |
addArgumentResolvers, pagedResourcesAssembler, pagedResourcesAssemblerArgumentResolveraddFormatters, customizePageableResolver, customizeSortResolver, extendMessageConvertersclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddCorsMappings, addInterceptors, addReturnValueHandlers, addViewControllers, configureAsyncSupport, configureContentNegotiation, configureDefaultServletHandling, configureHandlerExceptionResolvers, configureMessageConverters, configurePathMatch, configureViewResolvers, getMessageCodesResolver, getValidatorpublic RepositoryRestMvcConfiguration(ApplicationContext context, @Qualifier(value="mvcConversionService") ObjectFactory<ConversionService> conversionService, ObjectProvider<org.springframework.hateoas.server.LinkRelationProvider> relProvider, ObjectProvider<org.springframework.hateoas.mediatype.hal.CurieProvider> curieProvider, ObjectProvider<org.springframework.hateoas.mediatype.hal.HalConfiguration> halConfiguration, ObjectProvider<com.fasterxml.jackson.databind.ObjectMapper> objectMapper, ObjectProvider<org.springframework.hateoas.server.mvc.RepresentationModelProcessorInvoker> invoker, ObjectProvider<org.springframework.hateoas.mediatype.MessageResolver> resolver, ObjectProvider<org.springframework.data.geo.GeoModule> geoModule, ObjectProvider<PathPatternParser> parser)
public void setBeanClassLoader(ClassLoader classLoader)
setBeanClassLoader in interface BeanClassLoaderAwaresetBeanClassLoader in class org.springframework.data.web.config.SpringDataWebConfigurationpublic void setEmbeddedValueResolver(StringValueResolver resolver)
setEmbeddedValueResolver in interface EmbeddedValueResolverAware@Bean public org.springframework.data.repository.support.Repositories repositories()
@Bean public RepositoryRelProvider repositoryRelProvider(ObjectFactory<ResourceMappings> resourceMappings)
@Bean public org.springframework.data.mapping.context.PersistentEntities persistentEntities()
@Bean @Qualifier public DefaultFormattingConversionService defaultConversionService(org.springframework.data.mapping.context.PersistentEntities persistentEntities, org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory, org.springframework.data.repository.support.Repositories repositories)
@Bean public ValidatingRepositoryEventListener validatingRepositoryEventListener(ObjectFactory<org.springframework.data.mapping.context.PersistentEntities> entities)
ApplicationListener implementation for invoking
Validator instances assigned to specific domain types.@Bean public <T extends RepositoryRestConfiguration & CorsConfigurationAware> T repositoryRestConfiguration()
@Bean public static ProjectionDefinitionRegistar projectionDefinitionRegistrar(ObjectFactory<RepositoryRestConfiguration> config)
@Bean public MetadataConfiguration metadataConfiguration()
@Bean public BaseUri baseUri(RepositoryRestConfiguration repositoryRestConfiguration)
@Bean public static AnnotatedEventHandlerInvoker annotatedEventHandlerInvoker()
@Bean public ServerHttpRequestMethodArgumentResolver serverHttpRequestMethodArgumentResolver()
HttpServletRequest into a ServerHttpRequest.@Bean public RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver(org.springframework.data.repository.support.Repositories repositories, ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver, @Qualifier org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory)
@Bean public ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver(org.springframework.data.repository.support.Repositories repositories, RepositoryResourceMappings resourceMappings, BaseUri baseUri)
@Bean public BackendIdHandlerMethodArgumentResolver backendIdHandlerMethodArgumentResolver(org.springframework.plugin.core.PluginRegistry<BackendIdConverter,Class<?>> backendIdConverterRegistry, ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver, BaseUri baseUri)
@Bean public ETagArgumentResolver eTagArgumentResolver()
@Bean public RepositoryEntityLinks entityLinks(ObjectFactory<org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver> pageableResolver, org.springframework.data.repository.support.Repositories repositories, RepositoryResourceMappings resourceMappings, org.springframework.plugin.core.PluginRegistry<BackendIdConverter,Class<?>> backendIdConverterRegistry, RepositoryRestConfiguration repositoryRestConfiguration, ObjectFactory<org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver> sortResolver)
EntityLinks implementation that takes repository and current
configuration into account when generating links.@Bean public PersistentEntityResourceHandlerMethodArgumentResolver persistentEntityArgumentResolver(@Qualifier(value="defaultMessageConverters") List<HttpMessageConverter<?>> defaultMessageConverters, RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver, Associations associationLinks, BackendIdHandlerMethodArgumentResolver backendIdHandlerMethodArgumentResolver, org.springframework.data.mapping.context.PersistentEntities entities)
@Bean public PersistentEntityToJsonSchemaConverter jsonSchemaConverter(org.springframework.data.mapping.context.PersistentEntities persistentEntities, Associations associationLinks, @Qualifier org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory, RepositoryRestConfiguration repositoryRestConfiguration)
JsonSchema.public com.fasterxml.jackson.databind.ObjectMapper objectMapper()
ObjectMapper used internally.@Bean public org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter jacksonHttpMessageConverter(RepositoryRestConfiguration repositoryRestConfiguration)
HttpMessageConverter used by Spring MVC to read and write JSON data.@Bean public org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageConverter(LinkCollector linkCollector, RepositoryRestConfiguration repositoryRestConfiguration)
public com.fasterxml.jackson.databind.ObjectMapper halObjectMapper(LinkCollector linkCollector)
@Bean public UriListHttpMessageConverter uriListHttpMessageConverter()
HttpMessageConverter used to create text/uri-list responses.@Bean public RequestMappingHandlerAdapter repositoryExporterHandlerAdapter(@Qualifier(value="mvcValidator") ObjectProvider<Validator> validator, @Qualifier(value="defaultMessageConverters") List<HttpMessageConverter<?>> defaultMessageConverters, AlpsJsonHttpMessageConverter alpsJsonHttpMessageConverter, SelfLinkProvider selfLinkProvider, PersistentEntityResourceHandlerMethodArgumentResolver persistentEntityArgumentResolver, RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver, RepositoryRestConfiguration repositoryRestConfiguration)
HandlerAdapter that only recognizes handler methods defined in the
provided controller classes.@Bean public org.springframework.data.rest.webmvc.config.DelegatingHandlerMapping restHandlerMapping(org.springframework.data.repository.support.Repositories repositories, RepositoryResourceMappings resourceMappings, Optional<JpaHelper> jpaHelper, RepositoryRestConfiguration repositoryRestConfiguration, CorsConfigurationAware corsRestConfiguration)
HandlerMapping to delegate requests to Spring Data REST controllers. Sets up a
DelegatingHandlerMapping to make sure manually implemented BasePathAwareController instances that
register custom handlers for certain media types don't cause the RepositoryRestHandlerMapping to be
omitted. See DATAREST-490.@Bean public RepositoryResourceMappings resourceMappings(org.springframework.data.repository.support.Repositories repositories, org.springframework.data.mapping.context.PersistentEntities persistentEntities, RepositoryRestConfiguration repositoryRestConfiguration)
protected com.fasterxml.jackson.databind.Module persistentEntityJackson2Module(LinkCollector linkCollector)
@Bean protected LinkCollector linkCollector(org.springframework.data.mapping.context.PersistentEntities persistentEntities, SelfLinkProvider selfLinkProvider, Associations associationLinks)
@Bean public ExcerptProjector excerptProjector(RepositoryResourceMappings resourceMappings)
public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)
extendHandlerExceptionResolvers in interface WebMvcConfigurer@Bean public RepositoryRestExceptionHandler repositoryRestExceptionHandler()
@Bean @Qualifier public org.springframework.data.repository.support.RepositoryInvokerFactory repositoryInvokerFactory()
@Bean public List<HttpMessageConverter<?>> defaultMessageConverters(@Qualifier(value="jacksonHttpMessageConverter") org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter jacksonHttpMessageConverter, @Qualifier(value="halJacksonHttpMessageConverter") org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageConverter, @Qualifier(value="halFormsJacksonHttpMessageConverter") org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter halFormsJacksonHttpMessageConverter, AlpsJsonHttpMessageConverter alpsJsonHttpMessageConverter, UriListHttpMessageConverter uriListHttpMessageConverter, RepositoryRestConfiguration repositoryRestConfiguration)
@Bean public AlpsJsonHttpMessageConverter alpsJsonHttpMessageConverter(RootResourceInformationToAlpsDescriptorConverter alpsConverter)
@Bean public org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver pageableResolver()
pageableResolver in class org.springframework.data.web.config.HateoasAwareSpringDataWebConfiguration@Bean public org.springframework.data.web.HateoasSortHandlerMethodArgumentResolver sortResolver()
sortResolver in class org.springframework.data.web.config.HateoasAwareSpringDataWebConfiguration@Bean public org.springframework.plugin.core.PluginRegistry<BackendIdConverter,Class<?>> backendIdConverterRegistry(List<BackendIdConverter> backendIdConverter)
@Bean public org.springframework.data.auditing.AuditableBeanWrapperFactory auditableBeanWrapperFactory(org.springframework.data.mapping.context.PersistentEntities persistentEntities)
@Bean public HttpHeadersPreparer httpHeadersPreparer(org.springframework.data.auditing.AuditableBeanWrapperFactory auditableBeanWrapperFactory)
@Bean public SelfLinkProvider selfLinkProvider(org.springframework.data.mapping.context.PersistentEntities persistentEntities, RepositoryEntityLinks entityLinks, @Qualifier(value="mvcConversionService") ObjectProvider<ConversionService> conversionService)
@Bean public Associations associationLinks(RepositoryResourceMappings resourceMappings, RepositoryRestConfiguration repositoryRestConfiguration)
protected List<EntityLookup<?>> getEntityLookups()
protected List<HandlerMethodArgumentResolver> defaultMethodArgumentResolvers(SelfLinkProvider selfLinkProvider, PersistentEntityResourceHandlerMethodArgumentResolver persistentEntityArgumentResolver, RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver)
protected com.fasterxml.jackson.databind.ObjectMapper basicObjectMapper()
@Bean public EnumTranslator enumTranslator(org.springframework.hateoas.mediatype.MessageResolver resolver)
@Bean public RootResourceInformationToAlpsDescriptorConverter alpsConverter(org.springframework.data.repository.support.Repositories repositories, org.springframework.data.mapping.context.PersistentEntities persistentEntities, RepositoryEntityLinks entityLinks, EnumTranslator enumTranslator, Associations associationLinks, RepositoryRestConfiguration repositoryRestConfiguration)
@Bean public ProfileResourceProcessor profileResourceProcessor(RepositoryRestConfiguration repositoryRestConfiguration)
public void addResourceHandlers(ResourceHandlerRegistry registry)
addResourceHandlers in interface WebMvcConfigurerCopyright © 2011–2023 Pivotal Software, Inc.. All rights reserved.