因此,我有一个Spring Boot 项目,我刚刚添加了OpenAPI Swagger UI。它自动生成文档,非常适合我们所有的控制器和模型。但我想添加一些额外的配置,如externalDocs,如这里所示。
externalDocs:
url: URL
description: DESC
但是由于它是自动生成的,我没有一个YAML来表示swagger。我试着通过一个Bean来添加它,但没有成功。
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
public class springShopOpenAPI{
@Bean
public OpenAPI springShopOpenAPI() {
return new OpenAPI()
.info(new Info().title("SpringShop API")
.description("Spring shop sample application")
.version("v0.0.1")
.license(new License().name("Apache 2.0").url("http://springdoc.org")))
.externalDocs(new ExternalDocumentation()
.description("SpringShop Wiki Documentation")
.url("https://springshop.wiki.github.org/docs"));
}
}
如果需要,下面是我的Pom.xml。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.2.28</version>
</dependency>
谢谢你的建议。
3条答案
按热度按时间gc0ot86w1#
您需要实现
OperationCustomizer
接口来添加外部链接。您还可以执行其他逻辑来根据特定条件添加
externalDocs
。一旦定义了类,您需要在定义OpenAPI Bean的类中创建一个API组(在您的示例中为springShopOpenAPI
类)。v64noz0r2#
我所需要做的就是添加
@Configuration
并更新我的pom.xml,使其具有以下内容。第一个
pbossiut3#
如果有人试图添加一个链接到
@Tag
,例如链接到一个wiki页面,这也可以通过externalDocs
关键字来完成,如下所示: