我的项目中的Swagger文档有多个组。每个组都有一个Docket
,并且端点(每个组的成员)都用自定义注解标记。例如,下面是authentication组的Docket
:
@Bean
public Docket authenticationApis() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("authentication")
.useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(AuthenticationApiGroup.class))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo())
.securitySchemes(Collections.singletonList(securityScheme()))
.securityContexts(Collections.singletonList(securityContext()));
}
还有一个(默认)Docket
用于所有可用的端点。问题是,当我调用文档URL .../swagger-ui.html
时,Swagger UI默认加载最顶层的组。在我的情况下,它是authentication组,因为组是按字母顺序排序的。所需的行为是将default组作为默认API组加载。我该如何实现呢?
我尝试用.groupName("all")
命名默认的Docket
,这样它就成为最顶层的组(all〈authentication),但是这个解决方案有点“脏”,在这种情况下,文档将有两个重复的组(all和default)。Springfox 2.9.2
用于本项目。
2条答案
按热度按时间tv6aics11#
我的快速和肮脏的黑客:
slsn1g292#
在单据中使用urls.primaryName参数:https://github.com/swagger-api/swagger-ui/blob/v3.17.1/docs/usage/configuration.md#parameters