网关如何聚合各个微服务的接口文档?

背景

在之前老顾的文章中,介绍过利用swagger实现api文档 ,我们每个微服务都有自己的一套api接口,那我们开发人员进行开发的时候,是需要打开很多api接口文档地址 ,太麻烦了,那能不能只打开一个接口地址,此地址聚合了下游服务的所有api接口文档地址

微服务Api接口配置

pom依赖包

Swagger配置

上面的配置不单单支持了接口文档,而且还只是多版本的接口文档配置,当然需要一些定制代码,看下面

接口版本

接口版本定义

配置使用

加入@ApiVersion注解就能够实现多版本了

上面的配置就是每个微服务的接口文档配置

注意如果有相关授权配置需要把相关的swagger的url地址配置成不需要授权

/doc.html,/swagger-ui.html,/webjars/,/v2/,/swagger-resources/**

网关配置

pom引入依赖包

因为Swagger暂不支持webflux项目 ,所以Gateway里不能配置SwaggerConfig ,也就是说Gateway无法提供自身API 。但一般也不会在网关项目代码里写业务API代码 。所以这里的集成只是基于WebMvc的微服务项目。

上面的代码就是把网关的路由解析出来 ,然后设置SwaggerResource;多版本的设置是基于/v2/api-docs?group=原理

配置网关路由

启动测试

访问网关地址http://localhost:8769/doc.html

总结

这样就做到了只要访问网关的api文档地址左上角进行项目接口版本切换。小伙伴有没有注意到文档的界面大有不同,就是引入了

xml 复制代码
<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>swagger-bootstrap-ui</artifactId>
   <version>1.9.3</version>
</dependency>

这个UI左右结构,非常方便,小伙伴可以自行体验一下哦。

相关推荐
漫谈数据智理26 分钟前
IDS-RAM 如何支撑数据空间走向可
大数据·运维·微服务
AI攻城狮小关1 小时前
Claude Code 接入 DeepSeek 完整教程:3 步配置,告别订阅限额
人工智能·程序人生·api·agent·配置教程
小田学Python16 小时前
重新定义 Agent:为什么大模型不能直接干活,需要一层“壳”
大模型·api·ai agent
zhangjw341 天前
第41篇:微服务入门:架构理念+核心组件,理解微服务本质
微服务·云原生·架构
星期一研究室1 天前
从一条分割线开始,在文档中打造你的内容节奏
微服务·产品·设计
智码看视界1 天前
Day49-AI微服务化-将大模型能力封装为标准微服务
java·微服务·ai·架构·大模型·sse流式输出·ai中台
youngerwang2 天前
【软件系统架构案例分析每日深耕 Day 17】CBAM成本效益分析:微服务改造决策
微服务·系统架构·cbam·案例每日深耕·微服务改造
电商API_180079052472 天前
京东商品详情API技术解析:数据结构、调用实践与系统集成方案
python·api·跨境电商·京东·商品详情
星期一研究室2 天前
告别文档「图片灾难排版」!3大黄金法则,让你的文档从杂乱无章到杂志风🧩
微服务·产品·设计
AI产品测评官3 天前
突破系统割裂困局:2026企业级AI招聘架构如何迈向“原生全流程”?
大数据·微服务·架构