本文主要是介绍Swagger API 文档 | SpringCloudGateway 集成 SpringDoc,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 工作原理
- 方案 1:配置 swagger-ui.urls
- 方案 2:通过路由定义动态配置
- 具体案例
- 第 1 步:导入代码
- 第 2 步:配置 Swagger Url 列表
- 第 3 步:启动程序
- 第 4 步:查看注册中心
- 第 5 步:访问网关 Swagger UI
- 相关博文
😎 本节目标: Spring Cloud Gateway 集成 SpringDoc,实现网关聚合多个微服务的 Swagger。
👉 版本说明
- JDK 17
- SpringBoot 3.2.1
- SpringCloud Gateway 4.1.0
- SpringDoc 2.3.0
工作原理
Spring Cloud Gateway 中聚合 Swagger,实现通过网关访问多个项目的 Swagger。
🚀 SpringBoot 集成 SpringDoc 原理
- 先添加依赖,比如 springdoc-openapi-starter-webmvc-ui
- 然后即可获得 API Doc 及 Swagger UI 的能力
🚀 Spring Cloud Gateway 集成 SpringDoc 原理
- 添加依赖,比如 springdoc-openapi-starter-webflux-ui
- 然后即可获得 API Doc 及 Swagger UI 的能力
- 定义下游微服务的 API Doc 的访问地址,即可实现访问
😎 说白了吧 😎
- SpringBoot 集成 SpringDoc,就是先定义出 API Doc,然后 Swagger UI 访问 API Doc,从而展现页面。
- Spring Cloud Gateway 集成 SpringDoc 也类似,不同点在于:
- 一个是基于 MVC,一个是基于 WebFlux
- 一个是访问一个 API Doc,一个是访问多个 API Doc,就是这么简单。
方案 1:配置 swagger-ui.urls
在配置文件中,通过 springdoc.swagger-ui.urls 即可配置各个微服务的 API Doc 访问地址。
这样,在网关聚合 Swagger UI 中即可展示出多个微服务的 Swagger Api Doc 定义。
示例如下:
- name:定义为微服务的名称,用于展示
- url:访问微服务的 API Doc 的 url,这里使用的是通过网关访问的路由地址
springdoc:cache:disabled: trueswagger-ui:urls:- name: employeeurl: /employee/v3/api-docs- name: departmenturl: /department/v3/api-docs- name: organizationurl: /organization/v3/api-docs
这篇关于Swagger API 文档 | SpringCloudGateway 集成 SpringDoc的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!