bshiroya / swagger-cloud-demo

将swagger整合到spring cloud当中,并且把swagger配置到spring cloud gateway网关服务中,实现访问网关的swagger地址就能自由切换swagger

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

swagger-cloud-demo

​ 将swagger整合到spring cloud当中,并且把swagger配置到spring cloud gateway网关服务中,实现访问gateway网关的swagger地址就能自由切换不同服务的swagger页面

​ 整个项目源码相对简单,只有gateway-service服务中的application.yaml中需要注意一下。gateway中的routes中各个服务的idid: demo1需要和断言predicates:- Path=/demo1/**中的第一个参数保持一致,否则网关服务会路由不到swagger页面。

​ 以下是yaml的routers配置的demo:

image-20210113141744135

原理:

​ 重写swagger的SwaggerResourcesProvider接口,重写它的get()方法。将SwaggerResource列表重新的从gateway-service服务的yaml文件的routers中读取出来。之后在SwaggerHandler中将swagger-resources重新配置

About

将swagger整合到spring cloud当中,并且把swagger配置到spring cloud gateway网关服务中,实现访问网关的swagger地址就能自由切换swagger


Languages

Language:Java 100.0%