jdk版本8/11
1.导入依赖
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j.version}</version>
</dependency>
这里我的版本是3.0.3
2.创建配置类
@Slf4j
@Configuration
@EnableWebMvc
public class Knife4jConfiguration implements WebMvcConfigurer {
@Bean(value = "defaultApi2")
public Docket docketAdmin() {
log.info("准备生成接口文档");
ApiInfo apiInfo = new ApiInfoBuilder()
.title("智慧社区管理端接口文档") //标题
.version("1.0")
.description("智慧社区管理端接口文档") //描述
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.groupName("管理端接口")
.apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.basePackage("com.community.web.master.controller")) //扫描controller包所在位置
.paths(PathSelectors.any())
.build();
return docket;
}
public void addResourceHandlers(ResourceHandlerRegistry registry) { //注册,必须要写
//访问路径
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
3.运行结果
访问配置的访问路径 我的是localhost:8080/doc.html
注意如果是jdk17+SpringBoot3需要使用knife4j-openapi3-jakarta-spring-boot-starter,配置与这个不同
如果怎么配启动了之后访问都报白页,可以考虑把注册放在启动类内写
@SpringBootApplication
public class MasterWebApplication implements WebMvcConfigurer {
public static void main(String[] args) {
SpringApplication.run(MasterWebApplication.class, args);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
标签:Knife4j,webjars,配置,META,Springboot2,registry,public,resources,addResourceLocatio
From: https://blog.csdn.net/YinLiaoEr/article/details/140198409