文档
- 快速开始
- Knife4j 4.0 迭代计划
- 如何贡献代码
- 序章
- 社区
- 增强特性
- 3.1 增强模式
- 3.2 i18n 国际化
- 3.3 接口添加作者
- 3.4 自定义文档
- 3.5 访问权限控制
- 3.6 接口排序
- 3.7 分组排序
- 3.8 请求参数缓存
- 3.9 动态请求参数
- 3.10 导出离线文档
- 3.11 过滤请求参数
- 3.12 包含请求参数
- 3.13 搜索API接口
- 3.14 清除缓存
- 3.15 动态请求参数添加文档注释
- 3.16 动态响应参数添加文档注释
- 3.17 自定义Host
- 3.18 afterScript
- 3.19 OAuth2
- 3.20 导出 Postman
- 3.21 全局参数
- 3.22 自定义 Swagger Models 名称
- 3.23 自定义主页内容
- 3.24 自定义 Footer
- 3.25 JSR303
- 3.26 禁用调试
- 3.27 禁用搜索框
- 3.28 禁用 OpenApi 结构显示
- 3.29 版本控制
- 生态中间件
- 升级
中间件
- 中间件介绍
- Aggregation 微服务聚合中间件
- Desktop 独立渲染组件
OAS 简介
- OAS 简介
- OpenAPI 规范
- Java 注解
实战指南
- 示例代码
- Spring 单体架构
- Spring 微服务架构
- OAuth 2.0
- 微服务聚合实战
- ASP.NET Core
- Springfox 源码系列
- Springfox 源码系列
- springfox 源码分析(一) 程序入口
- springfox 源码分析(二) 初探 mapstruct
- springfox 源码分析(三) 初探 Spring Plugin 插件系统
- springfox 源码分析(四) 配置类初始化
- springfox 源码分析(五) Web 配置类 Plugin 插件的使用
- springfox 源码分析(六) Web 配置类扫描包作用探索
- springfox 源码分析(七) 文档初始化
- springfox 源码分析(八) 遍历接口获取 Model 对象
- springfox 源码分析(九) 文档初始化分组
- springfox 源码分析(十) 遍历接口获取 Model 对象
- springfox 源码分析(十一) 自定义添加 Swagger Models 功能实现
- springfox 源码分析(十二) 遍历接口获取 ApiDescription 集合
- springfox 源码分析(十三) 自定义扩展实现接口的排序
- springfox 源码分析(十四) 归档得到 ApiListing 接口集合
- springfox 源码分析(十五) 归档得到 Documentation 文档对象
- springfox 源码分析(十六) 分组接口 swagger-resouces
- springfox 源码分析(十七) Swagger2 接口文档示例接口 api-docs
- springfox 源码分析(十八) 自定义扩展实现分组的排序
- springfox 源码分析(十九) guava 库学习
- springfox 源码分析(二十一) 忽略参数 Class 类型
2.3 使用说明
本篇文档主要介绍如何使用 Knife4jAggregationDesktop
2.3.1 增加文档
当 Knife4jAggregationDesktop
软件启动后,开发者想要增加OpenAPI文档应该怎么办?
从技术架构图可以看到, Knife4jAggregationDesktop
提供了 MetaDataMonitor
组件,该组件是一个监听器,主要监听data目录。当开发者在data目录新建文件夹(文档)后,添加相应的配置文件后自动加载元数据配置,无需重启即可在线访问文档
在data目录下,开发者可以建N个一级文件夹(文档),文件夹名称必须是英文或英文+数组,示例如下:
|-data
|------ROOT
|------project1
|------project2
|------project3
|-----—project4
|-----—more...
ROOT目录代表的是根目录,最终访问文档的地址是: http://ip:port/doc.html
而开发者自建的文件夹目录,例如project1、project2、project3等等,所代表的是一个项目名称,最终访问的地址如下:
项目code | 文档地址 |
---|---|
ROOT | 根目录,访问地址: http://ip:port/doc.html |
project1 | http://ip:port/project1/doc.html |
project2 | http://ip:port/project2/doc.html |
project3 | http://ip:port/project3/doc.html |
project4 | http://ip:port/project4/doc.html |
以此类推 | http://ip:port/${code}/doc.html |
2.3.2 配置文档
在上面的介绍种,我们知道了如何增加多个文档,其实很简单,只需要在data目录建文件夹即可,那么建立好了文件夹后,如何配置呢?
这里需要涉及到Knife4jAggregation提供支持的4种模式了:Disk、Cloud、Eureka、Nacos
一个项目文件夹只支持一种模式
拿ROOT根目录来做示例说明,开发者如何配置。
2.3.2.1 Disk模式
Disk模式在Knife4jAggregationDesktop中是最简单的,如果开发者拥有OpenAPI文档的静态 JSON
文件或者 yml
文件,那么就可以直接放在建好的文件夹中,不用任何配置,即可渲染。
目录结构如下:
|-data
|------ROOT
|--------userOpenApi.json
|--------orderOpenApi.json
|--------goodsOpenApi.yml
在ROOT目录下,我们放置了三个OpenAPI文档的静态文件: userOpenAPI
以及 orderOpenApi
、 goodsOpenApi.yml
,此时访问地址: http://ip:port/doc.html
开发者就能在文档界面中看到会存在三个分组下的OpenAPI文档了。
那么随之问题也来了,在文档中,下拉框的选项名称是以文件的名称来命名显示的,如果要自定义显示应该怎么办?,此时就需要继续在ROOT目录添加一个名为 disk.properties
的配置文件来进行重命名配置
disk.properties
配置文件(该配置和Knife4jAggregation聚合组件中声明的disk模式的route节点配置完全一样):
knife4j.disk.routes[0].name=用户服务
# 此处location需要注意,只需要配置同级的文件名称即可
knife4j.disk.routes[0].location=userOpenApi.json
knife4j.disk.routes[1].name=订单服务
# 此处location需要注意,只需要配置同级的文件名称即可
knife4j.disk.routes[1].location=orderOpenApi.json
knife4j.disk.routes[2].name=商品服务
# 此处location需要注意,只需要配置同级的文件名称即可
knife4j.disk.routes[2].location=goodsOpenApi.yml
配置好后,无需重启,应用会自动加载,也可以参考测试场景中的配置
2.3.2.1 Cloud模式
Cloud模式则是需要在创建好的文件夹目录下新建 cloud.properties
配置文件,然后配置Cloud模式的节点属性
目录结构如下:
|-data
|------ROOT
|--------cloud.properties
cloud.properties
配置文件(该配置和Knife4jAggregation聚合组件中声明的Cloud模式的route节点配置完全一样):
knife4j.cloud.routes[0].name=用户
knife4j.cloud.routes[0].uri=192.168.0.152:8999
knife4j.cloud.routes[0].location=/v2/api-docs?group=2.X版本
# more...具体参考Knife4jAggregation聚合组件配置Cloud模式
配置好后,无需重启,应用会自动加载,也可以参考测试场景中的配置
2.3.2.2 Eureka模式
Eureka模式则是需要在创建好的文件夹目录下新建 eureka.properties
配置文件,然后配置eureka模式的节点属性
目录结构如下:
|-data
|------ROOT
|--------eureka.properties
eureka.properties
配置文件(该配置和Knife4jAggregation聚合组件中声明的Eloud模式的route节点配置完全一样):
knife4j.eureka.serviceUrl=http://localhost:10000/eureka/
knife4j.eureka.routes[0].name=用户
knife4j.eureka.routes[0].serviceName=userService
knife4j.eureka.routes[0].location=/v2/api-docs?group=2.X版本
# more...具体参考Knife4jAggregation聚合组件配置Eureka模式
配置好后,无需重启,应用会自动加载,也可以参考测试场景中的配置
2.3.2.3 Nacos模式
Nacos模式则是需要在创建好的文件夹目录下新建 nacos.properties
配置文件,然后配置nacos模式的节点属性
目录结构如下:
|-data
|------ROOT
|--------nacos.properties
nacos.properties
配置文件(该配置和Knife4jAggregation聚合组件中声明的Nacos模式的route节点配置完全一样):
knife4j.nacos.serviceUrl=http://localhost:10000/nacos/
knife4j.nacos.routes[0].name=用户
knife4j.nacos.routes[0].serviceName=userService
knife4j.nacos.routes[0].location=/v2/api-docs?group=2.X版本
# more...具体参考Knife4jAggregation聚合组件配置Nacos模式
配置好后,无需重启,应用会自动加载,也可以参考测试场景中的配置
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论