pom
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.0.0</version>
</dependency>
application
# knife4j
knife4j:
enable: true
swaggerConfig
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig implements WebMvcConfigurer {
@Resource
private OpenApiExtensionResolver openApiExtensionResolver;
@Bean(value = "default")
public Docket defaultApi1() {
String groupName = "1.0";
String packagePath = this.getClass().getPackage().getName().replace("config", "web");
Predicate<RequestHandler> requestHandlerPredicate = RequestHandlerSelectors.basePackage(packagePath);
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName(groupName)
.select()
.apis(requestHandlerPredicate)
.paths(PathSelectors.any())
.build()
.useDefaultResponseMessages(false)
.extensions(openApiExtensionResolver.buildExtensions(groupName));
return docket;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("XXX标准API接口文档")
.description("XXX标准API接口文档")
.termsOfServiceUrl("http://www.xxxx.com/")
.contact(new Contact("XXX", "www.xxxx.com", ""))
.version("1.0")
.build();
}
}