Spring Cloud Gateway网关聚合Knife4j4.0+

本文详细描述了如何在SpringCloudGateway中整合最新的Knife4j4.0版本,包括添加依赖、配置子项目和网关模块,以及如何利用OpenAPI3规范注解和自动聚合子服务的文档。通过服务发现模式,简化了配置过程,方便查看子模块接口文档。
摘要由CSDN通过智能技术生成

在使用Spring Cloud Gateway网关聚合文档时发现网上的都是一些比较老的方法要写各种配置,比较麻烦,没有关于最新的Knife4j4.0相关聚合教程就自己研究了一下,记录一下整合的过程。

子项目整合文档

1.添加Knife4j依赖到子项目中

<dependency>
 <groupId>com.github.xiaoymin</groupId>
 <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
 <version>4.3.0</version>
</dependency>

2.在对应模块下的application.yml添加配置

# springdoc-openapi项⽬配置
springdoc:
 swagger-ui:
 path: /swagger-ui.html
 tags-sorter: alpha
 operations-sorter: alpha
 api-docs:
 path: /v3/api-docs
 group-configs:
 - group: 'default'
 paths-to-match: '/**'
#这里的包扫描路径换成自己的路径
 packages-to-scan: top.lsc.share.content.controller#需要更换
# knife4j的增强配置,不需要增强可以不配
knife4j:
 enable: true
 setting:
 language: zh_cn

3.使⽤OpenAPI3的规范注解,注释各个Spring的REST接⼝

a3e1999da51340ad8d5705a73dbf05f9.png

4.启动子模块查看文档

访问Knife4j的文档地址:http://ip:port/doc.html即可查看文档

聚合文档到网关

1.添加Knife4j依赖到网关中

<dependency>
 <groupId>com.github.xiaoymin</groupId>
 <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
 <version>4.3.0</version>
</dependency>

2.在网关模块中添加application.yml配置

knife4j:
 gateway:
 # ① 第⼀个配置,开启gateway聚合组件
 enabled: true
 # ② 第⼆⾏配置,设置聚合模式采⽤discover服务发现的模式
 strategy: discover
 discover:
 # ③ 第三⾏配置,开启discover模式
 enabled: true
 # ④ 第四⾏配置,聚合⼦服务全部为OpenAPI3规范的⽂档
 version: OpenAPI3

配置属性说明:

配置属性名称类型描述默认值
knife4j.gateway.enabledboolean是否开启使用Gateway网关聚合组件false
knife4j.gateway.strategyenum聚合的策略,主要支持两种,分别是手动配置(manual)、服务发现(discovermanual
knife4j.gateway.routesarray{Router}通过路由注册文档
knife4j.gateway.routes[0].namestring界面显示分组名称null
knife4j.gateway.routes[0].urlstring文档地址子服务的Swagger资源接口地址(Swagger2默认/v2/api-docs,只需要配置group参数即可),因为是从网关层走,开发者配置时别忘记了网关前缀地址。
knife4j.gateway.routes[0].service-namestring访问服务名称null
knife4j.gateway.routes[0].orderint排序0
knife4j.gateway.routes[0].context-pathstring路由前缀,根据实际情况自行配置/

3.运⾏查看效果

访问地址:http://网关host:网关端口/doc.html

可以看到子模块的接口文档已经汇聚成功~

abea0f0c23dd437aa2069598013635c0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值