想把Knife4j集成到gateway里的办法,网上能搜寻到很多。这里我整顿一下,办法大抵是:
- Spring Cloud Gateway集成Knife4j
然而,可能你们会遇到一个问题,就是doc页面关上后,能见到对应的微服务分组,然而,却看不到接口列表。
那是因为,你们的微服务的文档,是在/v2/apis-doc
路由里。
而gateway的nacos配置转发里,配的是这样的拦挡转发
- id: sys_route uri: lb://cloud-sys predicates: - Path=/api/sys/**
就会导致微服务sys_route
文档最终拼接进去的申请是/api/sys/v2/apis-doc
解决方案是,应用gateway的filters配置
- id: sys_route uri: lb://cloud-sys predicates: - Path=/api/sys/** filters: - RewritePath=/api/sys/v2/api-docs, /v2/api-docs
(第一次接触filters的,举荐再看看StripPrefix属性)
PS:Knife4j官网最近也出了Knife4jAggregation微服务版本,间接部署这个微服务就能够(然而要额定启动多一个微服务,内存缓和...)。