Class ReactiveApiClientAutoConfiguration


  • @ConditionalOnWebApplication(type=REACTIVE)
    @ConditionalOnClass({org.bremersee.apiclient.webflux.ReactiveApiClient.class,org.bremersee.apiclient.webflux.contract.spring.ReactiveSpringContract.class})
    @Configuration
    public class ReactiveApiClientAutoConfiguration
    extends Object
    The reactive api client autoconfiguration.
    Author:
    Christian Bremer
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver()
      Content type resolver.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserter dataBuffersInserter()
      Data buffers inserter.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserter formDataInserter​(org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver)
      Form data inserter.
      void init()
      Init.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserter multipartDataInserter​(org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver, org.springframework.beans.factory.ObjectProvider<org.springframework.core.convert.converter.Converter<org.springframework.http.codec.multipart.Part,​org.springframework.http.HttpEntity<?>>> partConverter)
      Multipart data inserter.
      org.bremersee.apiclient.webflux.contract.spring.PageableRequestParameterResolver pageableRequestParameterResolver()
      Pageable request parameter resolver.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserter publisherInserter()
      Publisher inserter.
      org.bremersee.apiclient.webflux.ReactiveApiClient reactiveApiClient​(org.springframework.beans.factory.ObjectProvider<ReactiveApiClientWebClientBuilderConfigurer> configurers, org.bremersee.apiclient.webflux.ReactiveContract reactiveContract, org.springframework.beans.factory.ObjectProvider<org.bremersee.apiclient.webflux.ReactiveErrorHandler> errorHandler)
      Reactive api client.
      org.bremersee.apiclient.webflux.ReactiveContract reactiveSpringContract​(org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver, org.springframework.beans.factory.ObjectProvider<org.bremersee.apiclient.webflux.contract.spring.QueryParametersResolver> queryParametersResolvers, org.bremersee.apiclient.webflux.contract.RequestBodyInserterRegistry requestBodyInserterRegistry)
      Reactive spring contract.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserterRegistry requestBodyInserterRegistry​(org.springframework.beans.factory.ObjectProvider<org.bremersee.apiclient.webflux.contract.RequestBodyInserter> requestBodyInserters)
      Request body inserter registry.
      org.bremersee.apiclient.webflux.contract.spring.RequestParametersResolver requestParametersResolver()
      Request parameters resolver.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserter resourceInserter()
      Resource inserter.
      org.bremersee.apiclient.webflux.contract.spring.SortRequestParameterResolver sortRequestParameterResolver()
      Sort request parameter resolver.
      org.bremersee.apiclient.webflux.contract.RequestBodyInserter valueInserter()
      Value inserter.
    • Constructor Detail

      • ReactiveApiClientAutoConfiguration

        public ReactiveApiClientAutoConfiguration()
    • Method Detail

      • init

        @EventListener(org.springframework.boot.context.event.ApplicationReadyEvent.class)
        public void init()
        Init.
      • contentTypeResolver

        @ConditionalOnMissingBean
        @Bean
        public org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver()
        Content type resolver.
        Returns:
        the content type resolver
      • requestParametersResolver

        @ConditionalOnMissingBean
        @Bean
        @Order(-1000)
        public org.bremersee.apiclient.webflux.contract.spring.RequestParametersResolver requestParametersResolver()
        Request parameters resolver.
        Returns:
        the request parameters resolver
      • sortRequestParameterResolver

        @ConditionalOnClass(name="org.springframework.data.domain.Sort")
        @ConditionalOnMissingBean
        @Bean
        @Order(-500)
        public org.bremersee.apiclient.webflux.contract.spring.SortRequestParameterResolver sortRequestParameterResolver()
        Sort request parameter resolver.
        Returns:
        the sort request parameter resolver
      • pageableRequestParameterResolver

        @ConditionalOnClass(name="org.springframework.data.domain.Pageable")
        @ConditionalOnMissingBean
        @Bean
        @Order(-510)
        public org.bremersee.apiclient.webflux.contract.spring.PageableRequestParameterResolver pageableRequestParameterResolver()
        Pageable request parameter resolver.
        Returns:
        the pageable request parameter resolver
      • formDataInserter

        @Bean
        @Order(100)
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserter formDataInserter​(org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver)
        Form data inserter.
        Parameters:
        contentTypeResolver - the content type resolver
        Returns:
        the request body inserter
      • multipartDataInserter

        @Bean
        @Order(200)
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserter multipartDataInserter​(org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver,
                                                                                                  org.springframework.beans.factory.ObjectProvider<org.springframework.core.convert.converter.Converter<org.springframework.http.codec.multipart.Part,​org.springframework.http.HttpEntity<?>>> partConverter)
        Multipart data inserter.
        Parameters:
        contentTypeResolver - the content type resolver
        partConverter - the part converter
        Returns:
        the request body inserter
      • resourceInserter

        @Bean
        @Order(300)
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserter resourceInserter()
        Resource inserter.
        Returns:
        the request body inserter
      • dataBuffersInserter

        @Bean
        @Order(400)
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserter dataBuffersInserter()
        Data buffers inserter.
        Returns:
        the request body inserter
      • publisherInserter

        @Bean
        @Order(500)
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserter publisherInserter()
        Publisher inserter.
        Returns:
        the request body inserter
      • valueInserter

        @Bean
        @Order(600)
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserter valueInserter()
        Value inserter.
        Returns:
        the request body inserter
      • requestBodyInserterRegistry

        @ConditionalOnMissingBean
        @Bean
        public org.bremersee.apiclient.webflux.contract.RequestBodyInserterRegistry requestBodyInserterRegistry​(org.springframework.beans.factory.ObjectProvider<org.bremersee.apiclient.webflux.contract.RequestBodyInserter> requestBodyInserters)
        Request body inserter registry.
        Parameters:
        requestBodyInserters - the request body inserters
        Returns:
        the request body inserter registry
      • reactiveSpringContract

        @ConditionalOnMissingBean
        @Bean
        public org.bremersee.apiclient.webflux.ReactiveContract reactiveSpringContract​(org.bremersee.apiclient.webflux.contract.spring.ContentTypeResolver contentTypeResolver,
                                                                                       org.springframework.beans.factory.ObjectProvider<org.bremersee.apiclient.webflux.contract.spring.QueryParametersResolver> queryParametersResolvers,
                                                                                       org.bremersee.apiclient.webflux.contract.RequestBodyInserterRegistry requestBodyInserterRegistry)
        Reactive spring contract.
        Parameters:
        contentTypeResolver - the content type resolver
        queryParametersResolvers - the query parameters resolvers
        requestBodyInserterRegistry - the request body inserter registry
        Returns:
        the reactive contract
      • reactiveApiClient

        @ConditionalOnMissingBean
        @Bean
        public org.bremersee.apiclient.webflux.ReactiveApiClient reactiveApiClient​(org.springframework.beans.factory.ObjectProvider<ReactiveApiClientWebClientBuilderConfigurer> configurers,
                                                                                   org.bremersee.apiclient.webflux.ReactiveContract reactiveContract,
                                                                                   org.springframework.beans.factory.ObjectProvider<org.bremersee.apiclient.webflux.ReactiveErrorHandler> errorHandler)
        Reactive api client.
        Parameters:
        configurers - the configurers
        reactiveContract - the reactive contract
        errorHandler - the error handler
        Returns:
        the reactive api client