文档
- 快速开始
- 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.4 测试场景
本文主要包含作者对 Knife4jAggregationDesktop
的测试场景,主要包含支持的四种模式进行分别测试,仅供使用者进行参考
注意:以下测试场景无需重启服务
2.3.1 Disk模式
1、在 data
目录下新增文件夹并且修改符合Desktop要求的名称格式,直接放入OpenAPI规范的静态JSON文件,不重启的情况下渲染正常(正常)
2、修改某个文件夹下的OpenAPI规范静态JSON文件,不重启的情况下等待5s后刷新文档是否变更(正常)
3、为disk模式创建 disk.properties
,为disk模式配置服务的重命名是否生效(正常)
4、修改 disk.properties
配置文件,修改服务的名称显示是否生效(正常)
5、修改 disk.properties
配置文件,为服务配置 host
开启调试功能,调试是否生效(正常)
knife4j.disk.routes[0].name=测试平台
knife4j.disk.routes[0].host=http://knife4j.xiaominfo.com
knife4j.disk.routes[0].location=test.json
6、修改 disk.properties
配置文件,取消调试配置 host
的属性,调试是否失效(正常)
7、删除 disk.properties
配置文件,刷新是否正常(正常)
8、修改 disk.properties
配置文件,配置 basicAuth
以开启文档保护策略,是否生效(正常)
knife4j.basicAuth.enable=true
knife4j.basicAuth.username=zhangsan
knife4j.basicAuth.password=123456
9、修改 disk.properties
配置文件,配置 basicAuth
以开启文档保护策略后,访问其他项目的文档是否无影响能正常访问(正常)
10、修改 disk.properties
配置文件,删除 basicAuth
去除文档的保护策略,是否生效(正常)
11、修改 disk.properties
配置文件,为 routes
节点配置 servicePath
属性,是否能正常渲染及调试(正常)
knife4j.disk.routes[0].name=测试平台
knife4j.disk.routes[0].host=http://knife4j.xiaominfo.com
knife4j.disk.routes[0].location=test.json
knife4j.disk.routes[0].servicePath=/niubia
12、在 data
目录下新增文件夹并且修改符合Desktop要求的名称格式,直接放入OpenAPI规范的静态 yml
文件,是否渲染正常(正常)
13、按规定放入 yml
及 json
两种OpenAPI规范的静态文件,是否渲染正常(正常)
14、创建 disk.properties
配置文件,对于yml和json两种格式的文件进行重命名配置,是否渲染生效(正常)
knife4j.disk.routes[0].name=yml格式
knife4j.disk.routes[0].location=33.yml
knife4j.disk.routes[0].order=1
knife4j.disk.routes[1].name=json格式
knife4j.disk.routes[1].location=DolphinScheduler.json
knife4j.disk.routes[1].order=2
供参考示例配置 disk.properties
:
knife4j.disk.routes[0].name=测试平台
knife4j.disk.routes[0].host=http://knife4j.xiaominfo.com
knife4j.disk.routes[0].location=test.json
knife4j.disk.routes[0].servicePath=/niubia
knife4j.disk.routes[1].name=用户体系
knife4j.disk.routes[1].host=http://knife4j.xiaominfo.com
knife4j.disk.routes[1].location=user.json
#knife4j.basicAuth.enable=true
#knife4j.basicAuth.username=zhangsan
#knife4j.basicAuth.password=123456
2.3.2 Cloud模式
1、在 data
目录下新增文件夹并且修改符合Desktop要求的名称格式,新建 cloud.properties
配置文件及配置,是否生效(正常)
knife4j.cloud.routes[0].name=大数据平台1
knife4j.cloud.routes[0].location=/v2/api-docs?group=3.默认接口
knife4j.cloud.routes[0].uri=http://knife4j.xiaominfo.com
knife4j.cloud.routes[1].name=甄选平台
knife4j.cloud.routes[1].location=/v2/api-docs?group=2.X版本
knife4j.cloud.routes[1].uri=http://knife4j.xiaominfo.com
2、修改 cloud.properties
配置文件,增加排序字段,排序(正序)是否生效(正常)
knife4j.cloud.routes[0].name=大数据平台1
knife4j.cloud.routes[0].order=1
knife4j.cloud.routes[0].location=/v2/api-docs?group=3.默认接口
knife4j.cloud.routes[0].uri=http://knife4j.xiaominfo.com
knife4j.cloud.routes[1].name=甄选平台
knife4j.cloud.routes[1].order=2
knife4j.cloud.routes[1].location=/v2/api-docs?group=2.X版本
knife4j.cloud.routes[1].uri=http://knife4j.xiaominfo.com
3、调试是否正常(正常)
4、修改 cloud.properties
配置文件,配置 basicAuth
以开启文档保护策略,是否生效(正常)
knife4j.basicAuth.enable=true
knife4j.basicAuth.username=cloud
knife4j.basicAuth.password=123456
5、修改 cloud.properties
配置文件,配置 basicAuth
以开启文档保护策略后,访问其他项目的文档是否无影响能正常访问(正常)
6、修改 cloud.properties
配置文件,删除 basicAuth
去除文档的保护策略,是否生效(正常)
7、修改 cloud.properties
配置文件,为 routes
节点配置 servicePath
属性,是否能正常渲染及调试(正常)
参考示例配置 cloud.properties
:
knife4j.cloud.routes[0].name=大数据平台1
knife4j.cloud.routes[0].order=12
knife4j.cloud.routes[0].location=/v2/api-docs?group=3.默认接口
knife4j.cloud.routes[0].uri=http://knife4j.xiaominfo.com
#knife4j.cloud.routes[0].servicePath=/niub
knife4j.cloud.routes[1].name=甄选平台
knife4j.cloud.routes[1].order=2
knife4j.cloud.routes[1].location=/v2/api-docs?group=2.X版本
knife4j.cloud.routes[1].uri=http://knife4j.xiaominfo.com
#knife4j.cloud.routes[1].servicePath=/cloud
#knife4j.basicAuth.enable=true
#knife4j.basicAuth.username=cloud
#knife4j.basicAuth.password=123456
2.3.3 Eureka模式
1、在 data
目录下新增文件夹并且修改符合Desktop要求的名称格式,新建 eureka.properties
配置文件及配置,是否生效(正常)
knife4j.eureka.serviceUrl=http://localhost:10000/eureka/
knife4j.eureka.routes[0].name=用户服务asdf
knife4j.eureka.routes[0].serviceName=service-user
knife4j.eureka.routes[0].location=/aub/v2/api-docs?group=default
knife4j.eureka.routes[1].name=订单服务2ff
knife4j.eureka.routes[1].serviceName=service-order
knife4j.eureka.routes[1].location=/v2/api-docs?group=default
2、修改 eureka.properties
配置文件,增加order属性修改分组显示顺序,是否正常(正常)
knife4j.eureka.serviceUrl=http://localhost:10000/eureka/
knife4j.eureka.routes[0].name=用户服务asdf
knife4j.eureka.routes[0].serviceName=service-user
knife4j.eureka.routes[0].location=/aub/v2/api-docs?group=default
knife4j.eureka.routes[0].order=1
knife4j.eureka.routes[1].name=订单服务2ff
knife4j.eureka.routes[1].serviceName=service-order
knife4j.eureka.routes[1].location=/v2/api-docs?group=default
knife4j.eureka.routes[1].order=2
3、修改 eureka.properties
配置文件,修改服务的显示名称 name
,文档界面是否正常显示(正常)
knife4j.eureka.serviceUrl=http://localhost:10000/eureka/
knife4j.eureka.routes[0].name=自定义服务1
knife4j.eureka.routes[0].serviceName=service-user
knife4j.eureka.routes[0].location=/aub/v2/api-docs?group=default
knife4j.eureka.routes[0].order=1
knife4j.eureka.routes[1].name=自定义服务2
knife4j.eureka.routes[1].serviceName=service-order
knife4j.eureka.routes[1].location=/v2/api-docs?group=default
knife4j.eureka.routes[1].order=2
4、调试是否正常(正常)
5、修改 eureka.properties
配置文件,增加Basic权限控制,访问该文档需要输入用户名及密码,是否正常显示(正常)
knife4j.eureka.serviceUrl=http://localhost:10000/eureka/
knife4j.eureka.routes[0].name=自定义服务1
knife4j.eureka.routes[0].serviceName=service-user
knife4j.eureka.routes[0].location=/aub/v2/api-docs?group=default
knife4j.eureka.routes[0].order=1
knife4j.eureka.routes[1].name=自定义服务2
knife4j.eureka.routes[1].serviceName=service-order
knife4j.eureka.routes[1].location=/v2/api-docs?group=default
knife4j.eureka.routes[1].order=2
knife4j.basicAuth.enable=true
knife4j.basicAuth.username=abc
knife4j.basicAuth.password=123456
6、修改 eureka.properties
配置文件,去除basic权限控制,访问文档是否正常(正常)
knife4j.eureka.serviceUrl=http://localhost:10000/eureka/
knife4j.eureka.routes[0].name=自定义服务1
knife4j.eureka.routes[0].serviceName=service-user
knife4j.eureka.routes[0].location=/aub/v2/api-docs?group=default
knife4j.eureka.routes[0].order=1
knife4j.eureka.routes[1].name=自定义服务2
knife4j.eureka.routes[1].serviceName=service-order
knife4j.eureka.routes[1].location=/v2/api-docs?group=default
knife4j.eureka.routes[1].order=2
# 可以改为false,或者把下面的配置全部注释,两种方式都行
knife4j.basicAuth.enable=false
knife4j.basicAuth.username=abc
knife4j.basicAuth.password=123456
7、删除 eureka.properties
配置文件,文档是否还能访问(正常)
2.3.4 Nacos模式
1、在 data
目录下新增文件夹并且修改符合Desktop要求的名称格式,新建 nacos.properties
配置文件及配置,是否生效(正常)
knife4j.nacos.serviceUrl=http://192.168.0.223:8848/nacos
knife4j.nacos.routes[0].name=自定义服务1
knife4j.nacos.routes[0].serviceName=service-user
knife4j.nacos.routes[0].location=/v2/api-docs?group=default
knife4j.nacos.routes[1].name=自定义服务2
knife4j.nacos.routes[1].serviceName=service-order
knife4j.nacos.routes[1].location=/v2/api-docs?group=default
2、修改 nacos.properties
配置文件,增加order属性修改分组显示顺序,是否正常(正常)
knife4j.nacos.serviceUrl=http://192.168.0.223:8848/nacos
knife4j.nacos.routes[0].name=自定义服务1
knife4j.nacos.routes[0].serviceName=service-user
knife4j.nacos.routes[0].location=/v2/api-docs?group=default
knife4j.nacos.routes[0].order=3
knife4j.nacos.routes[1].name=自定义服务2
knife4j.nacos.routes[1].serviceName=service-order
knife4j.nacos.routes[1].location=/v2/api-docs?group=default
knife4j.nacos.routes[1].order=2
3、修改 nacos.properties
配置文件,修改服务的显示名称 name
,文档界面是否正常显示(正常)
knife4j.nacos.serviceUrl=http://192.168.0.223:8848/nacos
knife4j.nacos.routes[0].name=自定义X服务1
knife4j.nacos.routes[0].serviceName=service-user
knife4j.nacos.routes[0].location=/v2/api-docs?group=default
knife4j.nacos.routes[0].order=3
knife4j.nacos.routes[1].name=自定义X服务2
knife4j.nacos.routes[1].serviceName=service-order
knife4j.nacos.routes[1].location=/v2/api-docs?group=default
knife4j.nacos.routes[1].order=2
4、调试是否正常(正常)
5、修改 nacos.properties
配置文件,增加Basic权限控制,访问该文档需要输入用户名及密码,是否正常显示(正常)
knife4j.nacos.serviceUrl=http://192.168.0.223:8848/nacos
knife4j.nacos.routes[0].name=自定义X服务1
knife4j.nacos.routes[0].serviceName=service-user
knife4j.nacos.routes[0].location=/v2/api-docs?group=default
knife4j.nacos.routes[0].order=3
knife4j.nacos.routes[1].name=自定义X服务2
knife4j.nacos.routes[1].serviceName=service-order
knife4j.nacos.routes[1].location=/v2/api-docs?group=default
knife4j.nacos.routes[1].order=2
knife4j.basicAuth.enable=true
knife4j.basicAuth.username=nacos
knife4j.basicAuth.password=1234
6、修改 nacos.properties
配置文件,去除basic权限控制,访问文档是否正常(正常)
knife4j.nacos.serviceUrl=http://192.168.0.223:8848/nacos
knife4j.nacos.routes[0].name=自定义X服务1
knife4j.nacos.routes[0].serviceName=service-user
knife4j.nacos.routes[0].location=/v2/api-docs?group=default
knife4j.nacos.routes[0].order=3
knife4j.nacos.routes[1].name=自定义X服务2
knife4j.nacos.routes[1].serviceName=service-order
knife4j.nacos.routes[1].location=/v2/api-docs?group=default
knife4j.nacos.routes[1].order=2
# 可以改为false,或者把下面的配置全部注释,两种方式都行
knife4j.basicAuth.enable=false
knife4j.basicAuth.username=nacos
knife4j.basicAuth.password=1234
7、Nacos注册中心开启了权限验证,在 nacos.properties
配置文件中进行配置,测试文档聚合是否正常(正常)
knife4j.nacos.serviceUrl=http://192.168.0.223:8848/nacos
# Nacos OpenAPI权限
knife4j.nacos.serviceAuth.enable=true
knife4j.nacos.serviceAuth.username=nacos
knife4j.nacos.serviceAuth.password=nacos
knife4j.nacos.routes[0].name=自定义X服务1
knife4j.nacos.routes[0].serviceName=service-user
knife4j.nacos.routes[0].location=/v2/api-docs?group=default
knife4j.nacos.routes[0].order=3
knife4j.nacos.routes[1].name=自定义X服务2
knife4j.nacos.routes[1].serviceName=service-order
knife4j.nacos.routes[1].location=/v2/api-docs?group=default
knife4j.nacos.routes[1].order=2
# 可以改为false,或者把下面的配置全部注释,两种方式都行
knife4j.basicAuth.enable=false
knife4j.basicAuth.username=nacos
knife4j.basicAuth.password=1234
8、删除 nacos.properties
配置文件,文档是否还能访问(正常)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论