拉取swagger注册API文档
此篇文介绍如何将各个后端微服务的 Swagger API文档
聚合到 Apache ShenYu
网关管理系统。
#
1. 说明远程拉取swagger文档,目前仅支持swaggger2.0,并且只支持 Divide 和 SpringCloud 两种代理插件。
#
2. 环境准备shenyu-admin
#
2.1 启动参考 运维部署
, 选择一种方式启动shenyu-admin
。
#
2.2 开启远程拉取swagger文档的全局开关默认已开启。在Apache ShenYu
网关管理系统 --> 基础配置 --> 字典管理, 找到字典编码为 apidoc
的数据,修改 字典值: true
。
【注意】字典值:
true
表示开关已开启,false
表示已关闭。若关闭后,shenyu-admin
不会自动拉取各个微服务的swaggger文档。
#
3. 运行示例项目3.1. 下载 shenyu-examples-http-swagger2
3.2. 运行org.apache.shenyu.examples.http.ShenyuTestSwaggerApplication
main方法启动项目。
examples项目会根据 shenyu.register.serverLists
配置的地址,通过 Shenyu client 注解(比如@ShenyuSpringMvcClient
) 将服务启动信息同步给 shenyu-admin
, 然后触发 shenyu-admin
远程拉取swagger文档并完成解析,最后聚合产出新的API文档。
#
4. 演示效果#
4.1 API文档列表在Apache ShenYu
网关管理系统 --> 文档说明 --> API文档,你可以看到已经聚合好的API文档。
#
4.2 API详情效果#
5. 如何自动更新API文档#
5.1 重启项目如上面示例那样,通过启动项目触发自动更新API文档。
#
5.2 修改proxy插件选择器的启动时间在 proxy插件--> 选择器,找到目标服务,然后修改启动时间。
注意:新设置的启动时间一定不能早于原启动时间,否则不会触发自动拉取并刷新API文档。