微服务需要聚合工程吗_网光如何聚合各个微服务的接口文档?

c51d406caeeced22b2135d0ea18327d5.gif

背景

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

微服务Api接口配置

pom依赖包

f7d664a0ec1f6a928d21fa90adb59264.png

Swagger配置

040363dc0764760333b7269f69fad403.pnga8307ed177dc9a6a7f0b6be314f938cd.png12d5c8fc792a2263ea6fbe7f7b1c73b9.png

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

接口版本

1efcc5d3592fe7547d1c33a42e767b0b.png

接口版本定义

d777fe46d8ae78cec5f8e71fc5f5cd45.png

配置使用

7ac9e5bc14598969a116134787ba6e82.png

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

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

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

网关配置

pom引入依赖包

f7d664a0ec1f6a928d21fa90adb59264.png

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

41b723f142689aec151ffc0eabe9d49c.pnge4b538096a68e7e63391f994944ba493.png

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

b41ade5aa97e1b310b64e1747957ba71.png

配置网关路由

04fc29e0441949cd5d3a0c4014b0160c.png

启动测试

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

fb8c2d9d6b3a5c1aa63fa07390c98932.png46d3cdc6ea3891f03754af8962cc95b5.png

总结

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

   com.github.xiaoymin

   swagger-bootstrap-ui

   1.9.3

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

98dab4887a8df716f0ce5d718b59aaa5.png

往期精选

CHOICENESS

b266bfb571f0334f1ef124e0d1dfd8b6.png

faecff4fcadcd55e5d700f06af4138f9.png

f4eba16b061b761649fc02a271b93953.png

ba58cd2b21b0ffe4b1949a3e481702a9.png 是兄弟,就来 “kan” ee000df2ef03e727601de0ab72029195.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值