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

Gem*_*oft 13 api spring 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

feh*_*guy 30

我相信你可以设置docExpansion:"full"什么时候创建swagger-ui.

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

docExpansion:控制操作和标记的默认扩展设置.它可以是'list'(仅扩展标签),'full'(扩展标签和操作)或'none'(不扩展).默认为"列表".


Ros*_*sim 15

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

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

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

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

docExpansion : "full" - 展开所有内容(如名称所示完全展开)。


Tri*_*tan 6

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

  @Bean
  UiConfiguration uiConfig() {
    return UiConfigurationBuilder.builder()
        .docExpansion(DocExpansion.LIST) // or DocExpansion.NONE or DocExpansion.FULL
        .build();
  }  
Run Code Online (Sandbox Code Playgroud)

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


小智 6

对于使用 C# 的 .NET Core/Framework,

您可以简单地配置文档扩展/取消扩展,如下所示

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1/swagger.json", "Fire Cloud Client Authentication Service API V1.0");
        c.DocExpansion(DocExpansion.None);//This will not expand all the API's.

    });
}
Run Code Online (Sandbox Code Playgroud)