Spring boot - 打开 api - 如何使用 java 配置读取外部 swagger api 文档
Spring boot - open api - how to read external swagger api documents using java config
我在我的 spring 启动应用程序中以 json 格式生成多个 swagger api doc 文件并存储在位置 - static/swaggerdoc。我可以通过在 application.properties 中提及路径来读取文件,如下所示
application.properties
springdoc.swagger-ui.urls[0].url=/swaggerdoc/openapi.json
springdoc.swagger-ui.urls[0].name=openapi
springdoc.swagger-ui.urls[1].url=/swaggerdoc/openapi1.json
springdoc.swagger-ui.urls[1].name=openapi1
springdoc.swagger-ui.urls[2].url=/swaggerdoc/openapi2.json
springdoc.swagger-ui.urls[2].name=openapi2
springdoc.swagger-ui.urls[3].url=/swaggerdoc/openapi3.json
springdoc.swagger-ui.urls[3].name=openapi3
现在我必须在应用程序启动时动态读取 springdoc.swagger-ui.urls,而不是从属性文件读取静态路径。感谢您的帮助。
我正在使用以下依赖项
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.4</version>
</dependency>
谢谢。
我可以通过在我的配置中添加以下 bean 定义来解决这个问题 class 以使用 java 配置动态加载外部文档。
@Primary
@Bean
public Set<SwaggerUrl> apis(SwaggerUiConfigProperties swaggerUiConfig) {
Set<SwaggerUrl> swaggerUrlSet = new HashSet<>();
externalDocs.forEach(doc -> {
String docName = doc.get("docName");
SwaggerUrl wsResource = new SwaggerUrl(docName, "/swaggerdoc/" + docName + ".json");
swaggerUrlSet.add(wsResource);
});
swaggerUiConfig.setUrls(swaggerUrlSet);
return swaggerUrlSet;
}
我在我的 spring 启动应用程序中以 json 格式生成多个 swagger api doc 文件并存储在位置 - static/swaggerdoc。我可以通过在 application.properties 中提及路径来读取文件,如下所示
application.properties
springdoc.swagger-ui.urls[0].url=/swaggerdoc/openapi.json
springdoc.swagger-ui.urls[0].name=openapi
springdoc.swagger-ui.urls[1].url=/swaggerdoc/openapi1.json
springdoc.swagger-ui.urls[1].name=openapi1
springdoc.swagger-ui.urls[2].url=/swaggerdoc/openapi2.json
springdoc.swagger-ui.urls[2].name=openapi2
springdoc.swagger-ui.urls[3].url=/swaggerdoc/openapi3.json
springdoc.swagger-ui.urls[3].name=openapi3
现在我必须在应用程序启动时动态读取 springdoc.swagger-ui.urls,而不是从属性文件读取静态路径。感谢您的帮助。
我正在使用以下依赖项
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.4</version>
</dependency>
谢谢。
我可以通过在我的配置中添加以下 bean 定义来解决这个问题 class 以使用 java 配置动态加载外部文档。
@Primary
@Bean
public Set<SwaggerUrl> apis(SwaggerUiConfigProperties swaggerUiConfig) {
Set<SwaggerUrl> swaggerUrlSet = new HashSet<>();
externalDocs.forEach(doc -> {
String docName = doc.get("docName");
SwaggerUrl wsResource = new SwaggerUrl(docName, "/swaggerdoc/" + docName + ".json");
swaggerUrlSet.add(wsResource);
});
swaggerUiConfig.setUrls(swaggerUrlSet);
return swaggerUrlSet;
}