官方文档:快速开始 | Knife4j
knife4j :4.0版本的使用非常简单,导入依赖就可以直接使用。
下面以springboot2 为例:
1.使用
Spring Boot 2
springboot需要在2.4版本以上
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
在application.yml配置:
knife4j:
enable: true
直接访问http://ip:port/doc.html
即可查看文档。
2.Gateway网关聚合
可以手动配置参考位置:Spring Cloud Gateway网关聚合 | Knife4j,
但是建议直接使用服务发现模式:
注意:所有子服务全部是OpenAPI3规范,或者全部是Swagger2规范并且是默认default
分组.
我上面的依赖展示的是Swagger2。
以swagger2 为例:
maven:
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-gateway-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
application.yml:
knife4j:
gateway:
# ① 第一个配置,开启gateway聚合组件
enabled: true
# ② 第二行配置,设置聚合模式采用discover服务发现的模式
strategy: discover
discover:
# ③ 第三行配置,开启discover模式
enabled: true
# ④ 第四行配置,聚合子服务全部为Swagger2规范的文档
version: swagger2
3.异常:
knife4j文档请求异常: 你的主机中的软件中止了一个已建立的连接的解决。
原因:可能是gateway模块导入了过多的依赖,实际上只导入一个,子模块的不能导入
<!-- 子模块的不导入-->
<!-- <dependency>-->
<!-- <groupId>com.github.xiaoymin</groupId>-->
<!-- <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>-->
<!-- <version>4.3.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-gateway-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>