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

时间:2015-11-27 00:21:15

标签: spring api spring-mvc swagger swagger-ui

当我打开它时,所有操作都会折叠,我希望默认情况下将其展开。

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

这是我的招摇豆:

@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);
    }
}

5 个答案:

答案 0 :(得分:25)

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

有关详细信息,请参阅https://github.com/swagger-api/swagger-ui#parameters

  

docExpansion:控制操作和标记的默认扩展设置。它可以列出' (仅扩展标签),'完整' (扩展标签和操作)或“没有”' (什么都不扩展)。默认为' list'。

答案 1 :(得分: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

答案 2 :(得分:2)

我是通过在swaggerUi中添加所需的更改来实现的。 您需要根据您的要求进行更改,如下所示;

  1. docExpansion:" none" - 它会隐藏一切。
  2. docExpansion:" list" - 它只展开/列出所有操作。
  3. docExpansion:" full" - 它会扩展所有内容(如名称所示,完全展开)。

答案 3 :(得分:1)

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
        );
    }

答案 4 :(得分:1)

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

  

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

     

docExpansion:“无”-隐藏所有内容。

     

docExpansion:“列表”-仅扩展/列出所有操作。

     

docExpansion:“完整”-扩展所有内容(如名称所示完全扩展)。