WorkBuddy支持四种Spring Cloud Gateway路由配置方式:一、通过配置向导生成标准化YAML;二、基于Nacos实现动态JSON路由注入;三、Java DSL声明式定义复杂路由;四、对接租户策略实现多租户隔离路由。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用WorkBuddy进行微服务网关建设,但尚未获得Spring Cloud Gateway的标准化路由配置输出,则可能是由于未启用网关配置向导或未正确选择目标组件。以下是生成合规、可部署的Gateway路由配置的具体路径:
一、通过WorkBuddy配置向导一键生成YAML路由结构
该方法利用内置模板引擎解析服务注册元数据与路径语义,自动生成符合Spring Cloud Gateway规范的routes列表,避免手动拼接导致的缩进错误、字段遗漏或URI协议不一致问题。
1、登录WorkBuddy管理控制台,进入【项目配置】→【网关配置生成】模块。
2、在“目标网关类型”下拉框中选择Spring Cloud Gateway。
3、点击【加载已注册服务】按钮,系统自动从Eureka/Nacos同步当前可用微服务实例列表。
4、为每个待路由服务勾选启用状态,并在“路径前缀”列输入对应Path谓词值(如/service-a/**)。
5、勾选自动注入StripPrefix=1过滤器,确保路径前缀剥离逻辑默认生效。
6、点击“生成并导出YAML”,获取完整spring.cloud.gateway.routes区块内容。
二、基于Nacos实现动态路由配置注入
该方案将路由规则从application.yml中剥离,转为远程配置项,支持运行时热更新,避免因修改路由而重启网关进程。
1、在Nacos控制台创建配置,Data ID设为gateway-routes.json,Group使用默认DEFAULT_GROUP。
2、配置格式严格采用JSON数组,每项包含id、uri、predicates、filters四个必选字段,其中predicates内name必须为Path,args.pattern为正则路径模式。
3、在WorkBuddy中启用【动态路由同步插件】,配置Nacos地址与命名空间ID。
4、启动网关服务时,在application.yml中添加:workbuddy.gateway.dynamic-enabled: true。
在 macOS 上通过 LaunchAgent 安装、更新、运行和移除 OpenClaw Gateway Monitor + Gateway Watchdog。适用于用户请求一键部署监控的场景。
5、WorkBuddy监听Nacos配置变更事件,自动将JSON路由列表转换为RouteDefinition对象并刷新到RouteDefinitionLocator内存缓存。
三、使用Java DSL方式声明式定义路由
该方式适用于需嵌入复杂断言逻辑(如Header+Query组合匹配)、自定义过滤器链或与Spring Security深度集成的场景,由WorkBuddy生成可编译的Configuration类骨架。
1、在WorkBuddy【高级配置】→【代码生成】页面,选择Java Route Builder模式。
2、输入路由ID、目标服务名、匹配路径、所需过滤器类型(如AddRequestHeader、RewritePath)。
3、勾选启用Predicate组合逻辑,系统将生成and(Predicate, Predicate)嵌套调用结构。
4、点击生成后,WorkBuddy输出标准@Configuration类,含@Bean方法返回RouteLocator实例。
5、将生成代码复制至网关工程src/main/java目录下,确保类路径被Spring Boot自动扫描。
四、对接WorkBuddy租户策略实现多租户路由隔离
该机制确保不同租户请求仅命中其专属服务实例,防止跨租户路由泄露,依赖于Header路由谓词与自定义TenantAffinityFilter协同工作。
1、在WorkBuddy【系统设置】→【租户管理】→【网关集成】中启用租户感知路由开关。
2、为每个路由条目配置Header谓词:Header=tenant-id, \w+,强制校验租户标识存在性。
3、在gateway的filter列表中插入CustomTenantAffinityFilter,该Filter由WorkBuddy插件自动注册。
4、编辑application.yml,设置workbuddy.tenant.affinity-ttl: 1800,控制租户-节点亲和关系缓存有效期。
5、启动网关后,首次携带tenant-id的请求将被绑定至某节点IP,后续同租户请求优先调度至该节点。


















