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 Summary
ConstructorDescriptionSpringDocAutoConfiguration
(org.springdoc.core.properties.SpringDocConfigProperties springDocConfigProperties, org.springdoc.core.properties.SwaggerUiConfigProperties swaggerUiConfigProperties) Creates the SpringDocConfiguration with the given properties. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.boot.web.servlet.FilterRegistrationBean<SpringDocJsonDecodeFilter>
AppliesSpringDocJsonDecodeFilter
to the filter chain which decodes the JSON of ApiDocs and SwaggerUi so that the SpringDoc frontend is able to read it.org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer
Creates a web security customizer for the spring security which makes the SpringDoc frontend public available.
-
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 propertiesswaggerUiConfigProperties
- 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()AppliesSpringDocJsonDecodeFilter
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.
-