spring: application: name: gateway-server profiles: active: local http: codecs: max-in-memory-size: 10MB # 调整缓冲区大小https://gitee.com/zhijiantianya/rdms-cloud/pulls/176 # Jackson 配置项 jackson: serialization: write-dates-as-timestamps: true # 设置 LocalDateTime 的格式,使用时间戳 write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401 write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳 fail-on-empty-beans: false # 允许序列化无属性的 Bean main: allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 config: import: - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置 - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置 cloud: # Spring Cloud Gateway 配置项,对应 GatewayProperties 类 gateway: server: webflux: # 路由配置项,对应 RouteDefinition 数组 routes: ## system-server 服务 - id: system-admin-api # 路由的编号 uri: grayLb://rdms-system-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/system/** filters: - RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - id: system-app-api # 路由的编号 uri: grayLb://rdms-system-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/app-api/system/** filters: - RewritePath=/app-api/system/v3/api-docs, /v3/api-docs - id: system-websocket # 路由的编号(WebSocket) uri: grayLb://rdms-system-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/system/ws/** ## project-server 服务 - id: project-admin-api # 路由的编号 uri: grayLb://rdms-project-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/project/** filters: - RewritePath=/admin-api/project/v3/api-docs, /v3/api-docs - id: project-app-api # 路由的编号 uri: grayLb://rdms-project-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/app-api/project/** filters: - RewritePath=/app-api/project/v3/api-docs, /v3/api-docs ## bpm-server 服务 - id: bpm-admin-api # 路由的编号 uri: grayLb://rdms-bpm-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/bpm/** filters: - RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs x-forwarded: prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀 default-filters: - DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin # 采用 https://github.com/spring-cloud/spring-cloud-gateway/pull/866 解决响应头重复问题 server: port: 48080 logging: file: name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径 knife4j: # 聚合 Swagger 文档,参考 https://doc.xiaominfo.com/docs/action/springcloud-gateway 文档 gateway: enabled: true routes: - name: system-server service-name: rdms-system-server url: /admin-api/system/v3/api-docs - name: project-server service-name: rdms-project-server url: /admin-api/project/v3/api-docs - name: bpm-server service-name: bpm-server url: /admin-api/bpm/v3/api-docs --- #################### 灿能相关配置 #################### rdms: info: version: 1.0.0