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