Swagger UI - 默认情况下如何扩展所有操作?

Posted

技术标签:

【中文标题】Swagger UI - 默认情况下如何扩展所有操作?【英文标题】:Swagger UI - How can I expand all the operations by default? 【发布时间】:2016-03-01 03:29:52 【问题描述】:

我打开时所有操作都显示为折叠状态,我希望它默认展开。

我需要更改任何属性来实现它吗?

这是我的招摇豆:

@Configuration
@EnableSwagger2
public class SwaggerConfig 

    @Bean
    public Docket restApi() 
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .paths(regex("/api/.*"))
                .build()
                .directModelSubstitute(XMLGregorianCalendar.class, Date.class)
                .apiInfo(apiInfo())                
                .useDefaultResponseMessages(false);
    

【问题讨论】:

【参考方案1】:

我相信你可以在创建 swagger-ui 时设置docExpansion:"full"

详情请见https://github.com/swagger-api/swagger-ui#parameters。

docExpansion:控制操作和标签的默认扩展设置。它可以是“list”(仅扩展标签)、“full”(扩展标签和操作)或“none”(不扩展任何内容)。默认为“列表”。

【讨论】:

更新文档链接:github.com/swagger-api/swagger-ui/blob/master/docs/usage/…【参考方案2】:
private static final String DOC_EXPANSION = "list"; //none, full

    @Bean
    public UiConfiguration uiConfig() 
        return new UiConfiguration(
                null, DOC_EXPANSION, "alpha", "schema", UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, false, true, null
        );
    

【讨论】:

【参考方案3】:

我通过在 swaggerUi 中添加所需的更改来做到这一点。 您需要根据您的要求进行更改,如下所示;

    docExpansion : "none" - 它会隐藏所有内容。 docExpansion : "list"- 它只会展开/列出所有操作。 docExpansion : "full" - 它将扩展所有内容(如名称所述完全扩展)。

【讨论】:

【参考方案4】:

这是您似乎使用的 Springfox 的答案:

  @Bean
  UiConfiguration uiConfig() 
    return UiConfigurationBuilder.builder()
        .docExpansion(DocExpansion.LIST) // or DocExpansion.NONE or DocExpansion.FULL
        .build();
    

来源:http://springfox.github.io/springfox/docs/current/#springfox-swagger2-with-spring-mvc-and-spring-boot

【讨论】:

【参考方案5】:

我刚刚发现我实际上可以像这样将参数传递给 swagger url:

http://...../swagger/index.html?docExpansion=none

docExpansion : "none" - 隐藏所有内容。

docExpansion : "list"- 仅展开/列出所有操作。

docExpansion : "full" - 展开所有内容(顾名思义完全展开)。

【讨论】:

在查询时更改它会很有帮助。

以上是关于Swagger UI - 默认情况下如何扩展所有操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 swagger-ui.html 默认路径

如何在 ASP.NET Core 中更改 Swagger 的基本 url

Swagger UI 文档页面前端存储的凭据在哪里?

Swashbuckle.AspNet.Core:Swagger UI 显示空白页面 - 如何修复?

有没有办法在默认情况下以折叠模式呈现 Loopback 4“/explorer”

Swagger UI 显示 camelCase 参数而不是 PascalCase