From 41194881a62d6f4633ea1e08ade35008394a6903 Mon Sep 17 00:00:00 2001 From: 18872241403 Date: Tue, 26 Mar 2024 19:59:27 +0800 Subject: [PATCH] [issues#2318]Add Info to GroupedOpenAPI properties --- .../SpringdocBeanFactoryConfigurer.java | 4 ++++ .../properties/SpringDocConfigProperties.java | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configurer/SpringdocBeanFactoryConfigurer.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configurer/SpringdocBeanFactoryConfigurer.java index d1a0327ac..f35f7989f 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configurer/SpringdocBeanFactoryConfigurer.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/configurer/SpringdocBeanFactoryConfigurer.java @@ -25,6 +25,7 @@ package org.springdoc.core.configurer; import java.util.List; +import java.util.Optional; import io.swagger.v3.oas.models.OpenAPI; import org.apache.commons.lang3.StringUtils; @@ -98,6 +99,9 @@ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) builder.packagesToExclude(elt.getPackagesToExclude().toArray(new String[0])); if (StringUtils.isNotEmpty(elt.getDisplayName())) builder.displayName(elt.getDisplayName()); + if (Optional.ofNullable(elt.getApiInfo()).isPresent()) { + builder.addOpenApiCustomizer(openApi -> openApi.info(elt.getApiInfo())); + } return builder.group(elt.getGroup()).build(); }) .toList(); diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/properties/SpringDocConfigProperties.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/properties/SpringDocConfigProperties.java index 05810a46c..7ae62eb25 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/properties/SpringDocConfigProperties.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/properties/SpringDocConfigProperties.java @@ -30,6 +30,7 @@ import java.util.Set; import io.swagger.v3.oas.models.SpecVersion; +import io.swagger.v3.oas.models.info.Info; import org.springdoc.core.configuration.SpringDocConfiguration; import org.springdoc.core.properties.SpringDocConfigProperties.ApiDocs.OpenApiVersion; import org.springdoc.core.utils.Constants; @@ -1516,6 +1517,11 @@ public static class GroupConfig { */ private String displayName; + /** + * The object provides metadata about the API + */ + private Info apiInfo; + /** * Instantiates a new Group config. */ @@ -1712,6 +1718,22 @@ public void setDisplayName(String displayName) { this.displayName = displayName; } + /** + * Gets api info + * @return the api info + */ + public Info getApiInfo() { + return apiInfo; + } + + /** + * Sets api info + * @param apiInfo the api info + */ + public void setApiInfo(Info apiInfo) { + this.apiInfo = apiInfo; + } + @Override public boolean equals(Object o) { if (this == o) return true;