首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在springdoc中,是否可以在同一组中显示OpenAPI生成的UI和自定义静态yml文件的UI?

在springdoc中,是否可以在同一组中显示OpenAPI生成的UI和自定义静态yml文件的UI?
EN

Stack Overflow用户
提问于 2022-09-12 14:33:06
回答 1查看 227关注 0票数 1

我正在用我自己的API构建第三方软件的增强功能。我有第三方的用于swagger的静态.yml文件,但是对于我自己的端点,我使用springdoc注释和OpenAPI bean声明来生成文档。我能用同样的装腔作势的医生给我看一下吗?

动态生成的文档:

代码语言:javascript
复制
@Configuration
public class SwaggerConfiguration {
   @Bean
   public GroupedOpenApi myOpenApi() {
      String group = "My Group API";
      String paths[] = { "/**" };
      GroupedOpenApi api = GroupedOpenApi.builder()
           .group(group)
           .pathsToMatch(paths)
           .packagesToScan("org.mypackage")
           .addOpenApiCustomiser(openApi -> {
                   openApi.setInfo(
                        new Info()
                            .title(group)
                            .description("[Base URL: /myapi ]")
                   );
           }).build();
           return api;
   }
}

静态.yml设置在application.yml中:

代码语言:javascript
复制
springdoc:
   swagger-ui:
     urls:
       - name: My Group 1
         display-name: My Group 1
         url: group1.yml
       - name: My Group 2
         display-name: My Group 2
         url: group2.yml

因此默认情况下,springdoc将在swagger中显示我动态生成的API,但是一旦我添加了静态设置,静态文件驱动的swagger组就会显示出来,而动态的就不会显示了。这两者都能证明吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-12 15:30:41

我想出了解决办法,但可能是黑客。如果有合适的方法请告诉我.

即使我添加了静态设置,动态生成的openapi java bean仍然在执行,因此动态URL必须仍然存在,尽管springdoc在加载swagger页面时没有显示动态URL。

因此,要使用springdoc显示静态和动态的swagger内容:

  1. 只使用动态生成的swagger ( application.yml中没有静态设置或注释掉)运行您的春季引导应用程序

在它生成的swagger页面中,应该有一个指向openapi生成文件的url链接(在本例中是)。单击它,它将打开一个新的选项卡。

  1. 将静态设置添加到application.yml文件中,并添加另一个包含url:

的集合项。

代码语言:javascript
复制
springdoc:
   swagger-ui:
     urls:
       - name: My Group 1
         display-name: My Group 1
         url: group1.yml
       - name: My Group 2
         display-name: My Group 2
         url: group2.yml
       - name: My Group API
         display-name: My Group API
         url: /v3/api-docs/My%20Group%20API

启动您的spring-boot应用程序,您将在下拉式中同时拥有静态文件swagger组和动态组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73690948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档