fix:兼容 spring cloud 低版本的 gateway

pull/205/MERGE
YunaiV 2025-08-20 22:30:22 +08:00
parent c87fe17ee6
commit ad5f07ce02
2 changed files with 171 additions and 169 deletions

View File

@ -32,7 +32,12 @@
<!-- Gateway 网关相关 --> <!-- Gateway 网关相关 -->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway-server-webflux</artifactId> <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -5,9 +5,8 @@ spring:
profiles: profiles:
active: local active: local
http: codec:
codecs: max-in-memory-size: 10MB # 调整缓冲区大小https://gitee.com/zhijiantianya/yudao-cloud/pulls/176
max-in-memory-size: 10MB # 调整缓冲区大小https://gitee.com/zhijiantianya/yudao-cloud/pulls/176
# Jackson 配置项 # Jackson 配置项
jackson: jackson:
@ -28,171 +27,169 @@ spring:
cloud: cloud:
# Spring Cloud Gateway 配置项,对应 GatewayProperties 类 # Spring Cloud Gateway 配置项,对应 GatewayProperties 类
gateway: gateway:
server: # 路由配置项,对应 RouteDefinition 数组
webflux: routes:
# 路由配置项,对应 RouteDefinition 数组 ## system-server 服务
routes: - id: system-admin-api # 路由的编号
## system-server 服务 uri: grayLb://system-server
- id: system-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://system-server - Path=/admin-api/system/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/system/** - RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: - id: system-app-api # 路由的编号
- RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs uri: grayLb://system-server
- id: system-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://system-server - Path=/app-api/system/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/system/** - RewritePath=/app-api/system/v3/api-docs, /v3/api-docs
filters: ## infra-server 服务
- RewritePath=/app-api/system/v3/api-docs, /v3/api-docs - id: infra-admin-api # 路由的编号
## infra-server 服务 uri: grayLb://infra-server
- id: infra-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://infra-server - Path=/admin-api/infra/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/infra/** - RewritePath=/admin-api/infra/v3/api-docs, /v3/api-docs
filters: - id: infra-app-api # 路由的编号
- RewritePath=/admin-api/infra/v3/api-docs, /v3/api-docs uri: grayLb://infra-server
- id: infra-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://infra-server - Path=/app-api/infra/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/infra/** - RewritePath=/app-api/infra/v3/api-docs, /v3/api-docs
filters: - id: infra-spring-boot-admin # 路由的编号Spring Boot Admin
- RewritePath=/app-api/infra/v3/api-docs, /v3/api-docs uri: grayLb://infra-server
- id: infra-spring-boot-admin # 路由的编号Spring Boot Admin predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://infra-server - Path=/admin/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: infra-websocket # 路由的编号WebSocket
- Path=/admin/** uri: grayLb://infra-server
- id: infra-websocket # 路由的编号WebSocket predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://infra-server - Path=/infra/ws/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 ## member-server 服务
- Path=/infra/ws/** - id: member-admin-api # 路由的编号
## member-server 服务 uri: grayLb://member-server
- id: member-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://member-server - Path=/admin-api/member/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/member/** - RewritePath=/admin-api/member/v3/api-docs, /v3/api-docs
filters: - id: member-app-api # 路由的编号
- RewritePath=/admin-api/member/v3/api-docs, /v3/api-docs uri: grayLb://member-server
- id: member-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://member-server - Path=/app-api/member/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/member/** - RewritePath=/app-api/member/v3/api-docs, /v3/api-docs
filters: ## bpm-server 服务
- RewritePath=/app-api/member/v3/api-docs, /v3/api-docs - id: bpm-admin-api # 路由的编号
## bpm-server 服务 uri: grayLb://bpm-server
- id: bpm-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://bpm-server - Path=/admin-api/bpm/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/bpm/** - RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs
filters: ## report-server 服务
- RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs - id: report-admin-api # 路由的编号
## report-server 服务 uri: grayLb://report-server
- id: report-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://report-server - Path=/admin-api/report/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/report/** - RewritePath=/admin-api/report/v3/api-docs, /v3/api-docs
filters: - id: report-jimu # 路由的编号(积木报表)
- RewritePath=/admin-api/report/v3/api-docs, /v3/api-docs uri: grayLb://report-server
- id: report-jimu # 路由的编号(积木报表) predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://report-server - Path=/jmreport/**, /drag/**, /jimubi/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 ## pay-server 服务
- Path=/jmreport/**, /drag/**, /jimubi/** - id: pay-admin-api # 路由的编号
## pay-server 服务 uri: grayLb://pay-server
- id: pay-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://pay-server - Path=/admin-api/pay/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/pay/** - RewritePath=/admin-api/pay/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: - id: pay-app-api # 路由的编号
- RewritePath=/admin-api/pay/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs uri: grayLb://pay-server
- id: pay-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://pay-server - Path=/app-api/pay/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/pay/** - RewritePath=/app-api/pay/v3/api-docs, /v3/api-docs
filters: ## mp-server 服务
- RewritePath=/app-api/pay/v3/api-docs, /v3/api-docs - id: mp-admin-api # 路由的编号
## mp-server 服务 uri: grayLb://mp-server
- id: mp-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://mp-server - Path=/admin-api/mp/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/mp/** - RewritePath=/admin-api/mp/v3/api-docs, /v3/api-docs
filters: ## product-server 服务
- RewritePath=/admin-api/mp/v3/api-docs, /v3/api-docs - id: product-admin-api # 路由的编号
## product-server 服务 uri: grayLb://product-server
- id: product-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://product-server - Path=/admin-api/product/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/product/** - RewritePath=/admin-api/product/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: - id: product-app-api # 路由的编号
- RewritePath=/admin-api/product/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs uri: grayLb://product-server
- id: product-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://product-server - Path=/app-api/product/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/product/** - RewritePath=/app-api/product/v3/api-docs, /v3/api-docs
filters: ## promotion-server 服务
- RewritePath=/app-api/product/v3/api-docs, /v3/api-docs - id: promotion-admin-api # 路由的编号
## promotion-server 服务 uri: grayLb://promotion-server
- id: promotion-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://promotion-server - Path=/admin-api/promotion/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/promotion/** - RewritePath=/admin-api/promotion/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: - id: promotion-app-api # 路由的编号
- RewritePath=/admin-api/promotion/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs uri: grayLb://promotion-server
- id: promotion-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://promotion-server - Path=/app-api/promotion/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/promotion/** - RewritePath=/app-api/promotion/v3/api-docs, /v3/api-docs
filters: ## trade-server 服务
- RewritePath=/app-api/promotion/v3/api-docs, /v3/api-docs - id: trade-admin-api # 路由的编号
## trade-server 服务 uri: grayLb://trade-server
- id: trade-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://trade-server - Path=/admin-api/trade/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/trade/** - RewritePath=/admin-api/trade/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: - id: trade-app-api # 路由的编号
- RewritePath=/admin-api/trade/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs uri: grayLb://trade-server
- id: trade-app-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://trade-server - Path=/app-api/trade/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/app-api/trade/** - RewritePath=/app-api/trade/v3/api-docs, /v3/api-docs
filters: ## statistics-server 服务
- RewritePath=/app-api/trade/v3/api-docs, /v3/api-docs - id: statistics-admin-api # 路由的编号
## statistics-server 服务 uri: grayLb://statistics-server
- id: statistics-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://statistics-server - Path=/admin-api/statistics/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/statistics/** - RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: ## erp-server 服务
- RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - id: erp-admin-api # 路由的编号
## erp-server 服务 uri: grayLb://erp-server
- id: erp-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://erp-server - Path=/admin-api/erp/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/erp/** - RewritePath=/admin-api/erp/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: ## crm-server 服务
- RewritePath=/admin-api/erp/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - id: crm-admin-api # 路由的编号
## crm-server 服务 uri: grayLb://crm-server
- id: crm-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://crm-server - Path=/admin-api/crm/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/crm/** - RewritePath=/admin-api/crm/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: ## ai-server 服务
- RewritePath=/admin-api/crm/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - id: ai-admin-api # 路由的编号
## ai-server 服务 uri: grayLb://ai-server
- id: ai-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://ai-server - Path=/admin-api/ai/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/ai/** - RewritePath=/admin-api/ai/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: ## iot-server 服务
- RewritePath=/admin-api/ai/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - id: iot-admin-api # 路由的编号
## iot-server 服务 uri: grayLb://iot-server
- id: iot-admin-api # 路由的编号 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://iot-server - Path=/admin-api/iot/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 filters:
- Path=/admin-api/iot/** - RewritePath=/admin-api/iot/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
filters: x-forwarded:
- RewritePath=/admin-api/iot/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
x-forwarded:
prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
server: server:
port: 48080 port: 48080