SpringCloud Gateway整合Knife4j 4.5.0_knife4j-gateway-spring-boot-starter
文章目录
- 前言
- 一、环境版本
- 二、使用步骤
-
- 1.网关服务依赖配置
- 2.非网关服务依赖配置
- 3.访问 Knife4j
前言
公司没有微服务架构,并且测试用工具使用的是apifox,但是个人使用习惯原因,决定将Knife4j整合进项目。由于使用JDK 17,这里要选择 OpenAPI3 规范。
一、环境版本
JDK 17
SpringBoot 3.0.2
SpringCloud 2022.0.0.0-RC2
SpringCloud Gateway 4.0.0-RC2
Knife4j 4.5.0
二、使用步骤
1.网关服务依赖配置
引入依赖
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-gateway-spring-boot-starter</artifactId> <version>4.5.0</version></dependency>
yml配置
knife4j: gateway: enabled: true # 指定服务发现的模式聚合微服务文档,并且是默认 default 分组 strategy: discover discover: # OpenAPI 3.0 规范 version: openapi3 enabled: true
2.非网关服务依赖配置
引入依赖
<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <version>4.5.0</version></dependency>
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: \'group-test\' paths-to-match: \'/**\' #这里的包扫描路径换成自己的路径# packages-to-scan: top.lsc.share.content.controller#需要更换,示例如下 packages-to-scan: com.xxx.xxx.controller# knife4j的增强配置,不需要增强可以不配knife4j: enable: true # 开启knife4j,无需添加@EnableKnife4j注解 setting: language: zh_cn #中文 swagger-model-name: 实体列表 #默认为: Swagger Models basic: # 开启Swagger的Basic认证功能,默认是false enable: false
3.访问 Knife4j
浏览器访问http://ip:port/doc.html,ip和port是网关服务的ip和port。
由于我这里没有在增强配置中加账号密码,直接访问即可查看。
如果需要在登陆时校验密码,则需要在yml中添加增强配置
knife4j: # 启用 Knife4j enable: true gateway: enabled: true # 指定服务发现的模式聚合微服务文档,并且是默认 default 分组 strategy: discover discover: # OpenAPI 3.0 规范 version: openapi3 enabled: true basic: # 启用 Basic 认证(增强功能) enable: true # 设置用户名 username: admin # 设置密码 password: 123456
在通过网关登陆时就可以看到登录校验了