knife4j的最终效果:
支持直观的入参介绍、在线调试及离线各种API文档下载。
1 引入pom
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
2 编写配置类SwaggerConfig.java
basePackage("cn.com.agree.om.controller")
需要改成自己的controller包路径
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig implements WebMvcConfigurer{
//配置Swagger2的Docket的Bean实例
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
// apiInfo():配置 API 的一些基本信息,比如:文档标题title,文档描述description,文档版本号version
.apiInfo(apiInfo())
// select():生成 API 文档的选择器,用于指定要生成哪些 API 文档
.select()
// apis():指定要生成哪个包下的 API 文档
.apis(RequestHandlerSelectors.basePackage("cn.com.agree.om.controller"))
// paths():指定要生成哪个 URL 匹配模式下的 API 文档。这里使用 PathSelectors.any(),表示生成所有的 API 文档。
.paths(PathSelectors.any())
.build();
}
//文档信息配置
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
// 文档标题
.title("HOM项目")
// 文档描述信息
.description("HOM项目在线API文档")
// 文档版本号
.version("1.0")
.build();
}
}
3 运行启动类HomServerApplication
4 访问swagger地址
http://localhost:8090/aom/doc.html
界面就如同文档开始,就可以开启完美的swagger之旅了。
【注意】springboot高于2.4的版本都需要在yaml多配置如下代码(遇到报错也可以搜索出解决方案):
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
报如下错误时:
需要给启动类加上如下代码:
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})