@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, pagedResourcesAssemblerArgumentResolver
addFormatters, customizePageableResolver, customizeSortResolver, extendMessageConverters
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addCorsMappings, addInterceptors, addReturnValueHandlers, addViewControllers, configureAsyncSupport, configureContentNegotiation, configureDefaultServletHandling, configureHandlerExceptionResolvers, configureMessageConverters, configurePathMatch, configureViewResolvers, getMessageCodesResolver, getValidator
public 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 BeanClassLoaderAware
setBeanClassLoader
in class org.springframework.data.web.config.SpringDataWebConfiguration
public 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 WebMvcConfigurer
Copyright © 2011–2023 Pivotal Software, Inc.. All rights reserved.