我有一个REST API和SpringFox Swagger V2. 6. 1包含并正在工作。但是现在,我不想总是显示我拥有的所有控制器,因为其中一些非常技术性,不适合普通用户,但是我希望能够选择我显示的内容而不必重新编译代码。(/v2/api-docs)'(或任何你配置它的),只有这一个条目。我的直觉是,它应该有可能有多个选项,并根据选项显示某些控制器类或不。
因为我不太会上传图片,所以不能提供截图,希望我的问题已经问清楚了。
在我的项目中,执行昂首阔步的代码是最简单的:
@Bean
public Docket api() {
return new Docket( DocumentationType.SWAGGER_2 )
.select()
.apis( RequestHandlerSelectors.any() )
.paths( PathSelectors.any() )
.build()
.apiInfo( metadata() );
}
private ApiInfo metadata() {
return new ApiInfoBuilder()
.title( "My awesome ACS API" )
.description( "All the requests that the server will respond to." )
.version( "1.0.0" )
.build();
}
我尝试了几种方法,比如添加一些属性、执行两个.select()和选择不同的内容,但是我似乎并没有真正接近我希望实现的目标。
谢谢你的帮助!
3条答案
按热度按时间vnzz0bqm1#
我能想到的一些选择
1.您可以使用SpringSecurity为不同的端点添加身份验证,并使端点完全不可访问(但在Swagger UI中可见)。
1.您在顶部提到的下拉菜单可以配置如下
1.您可以在Docker配置中使用类似这样的设置完全排除端点在Swagger UI中的可见性
这将使所有不是/error和/product的终结点都可用。您可以像这样筛选出终结点。
ma8fv8wu2#
您还可以提供包名称
也可以为API类或API方法使用自定义Annotation,如下所示:
0lvr5msh3#
"隐藏的注解“对我起作用了。