swagger配置示例:其中,titile的内容会显示在swagger页面顶部,RequestHandlerSelectors.basePackage和PathSelectors.any从包结构和api路径两个方面筛选要显示的api接口
@Component
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.title("title")
.build())
.select()
.apis(RequestHandlerSelectors.basePackage("BUSINESS_PATH"))
.paths(PathSelectors.any())
.build();
}
}
@EnableSwagger2Doc 此注解会显示Spring内部的api。一般不使用此注解。
异常解决:
1、
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.IllegalStateException: Multiple Dockets with the same group name are not supported. The following duplicate groups were discovered. default
Caused by: java.lang.IllegalStateException: Multiple Dockets with the same group name are not supported. The following duplicate groups were discovered. default
at springfox.documentation.spring.web.plugins.DuplicateGroupsDetector.ensureNoDuplicateGroups(DuplicateGroupsDetector.java:45)
这个问题是Swagger配置重复定义,@EnableSwagger2Doc注解也会定义一个swagger,使用@EnableSwagger2Doc的同时再自定义swagger配置会产生此问题。