Class SpringDocAutoConfiguration

java.lang.Object
org.springframework.cloud.dataflow.server.config.SpringDocAutoConfiguration

@AutoConfiguration @ConditionalOnClass({org.springdoc.core.properties.SpringDocConfigProperties.class,org.springdoc.core.properties.SwaggerUiConfigProperties.class}) @ConditionalOnBean({org.springdoc.core.properties.SpringDocConfigProperties.class,org.springdoc.core.properties.SwaggerUiConfigProperties.class}) @AutoConfigureAfter({org.springdoc.core.configuration.SpringDocConfiguration.class,org.springdoc.webmvc.ui.SwaggerConfig.class}) public class SpringDocAutoConfiguration extends Object
Makes SpringDoc public available without any authentication required by initializing a WebSecurityCustomizer and applying all path of SpringDoc to be ignored. Also applies a filter registration bean to unescape JSON content for the SpringDoc frontend.
Author:
Tobias Soloschenko
  • Constructor Details

    • SpringDocAutoConfiguration

      public SpringDocAutoConfiguration(org.springdoc.core.properties.SpringDocConfigProperties springDocConfigProperties, org.springdoc.core.properties.SwaggerUiConfigProperties swaggerUiConfigProperties)
      Creates the SpringDocConfiguration with the given properties.
      Parameters:
      springDocConfigProperties - the spring doc config properties
      swaggerUiConfigProperties - the swagger ui config properties
  • Method Details

    • springDocWebSecurityCustomizer

      @Bean @ConditionalOnMissingBean public org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer springDocWebSecurityCustomizer()
      Creates a web security customizer for the spring security which makes the SpringDoc frontend public available.
      Returns:
      a web security customizer with security settings for SpringDoc
    • springDocJsonDecodeFilterRegistration

      @Bean @ConditionalOnMissingBean(name="springDocJsonDecodeFilterRegistration") public org.springframework.boot.web.servlet.FilterRegistrationBean<SpringDocJsonDecodeFilter> springDocJsonDecodeFilterRegistration()
      Applies SpringDocJsonDecodeFilter to the filter chain which decodes the JSON of ApiDocs and SwaggerUi so that the SpringDoc frontend is able to read it. Spring Cloud Data Flow however requires the JSON to be escaped and wrapped into quotes, because the Angular Ui frontend is using it that way.
      Returns:
      a filter registration bean which unescapes the content of the JSON endpoints of SpringDoc before it is returned.