Swagger2 隐藏Models 模块的方法

今天看到群里有人再问Swagger2相关的问题,感觉自己也算用了有些时间了应该能解答吧,如下:

问题:Swagger2里的Models模块如何隐藏?

Swagger2 隐藏Models 模块的方法

看到这个问题之后,第一时间想到了Swagger的配置类,看了配置属性没发现相关设置,于是开始百度,找了半天只找到两个帖子是关于Swagger2隐藏Models的,竟都无人回复,这下只能靠自己了,最后也算是百度给了些灵感,还是根据源码来分析,想着应该会有这个配置项,最终还是被我发现了,故而记录一下,也方便有同样需求的童鞋参考。

解决方法:在Swagger2Config配置类中增加UI相关配置方法,设置defaultModelsExpandDepth(-1),-1表示隐藏Models

    @Bean
    public UiConfiguration uiConfig() {
        return UiConfigurationBuilder.builder()
                .deepLinking(true)
                .displayOperationId(false)
                // 隐藏UI上的Models模块
                .defaultModelsExpandDepth(-1)
                .defaultModelExpandDepth(0)
                .defaultModelRendering(ModelRendering.EXAMPLE)
                .displayRequestDuration(false)
                .docExpansion(DocExpansion.NONE)
                .filter(false)
                .maxDisplayedTags(null)
                .operationsSorter(OperationsSorter.ALPHA)
                .showExtensions(false)
                .tagsSorter(TagsSorter.ALPHA)
                .validatorUrl(null)
                .build();
    }

至此,重启服务就可以看到Models模块不见了!

上一篇:IDEA+SpringBoot整合Swagger2创建API文档


下一篇:Springboot:Springboot+Swagger2集成服务