今天看到群里有人再问Swagger2相关的问题,感觉自己也算用了有些时间了应该能解答吧,如下:
问题: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模块不见了!