fengling-platform/.planning/phases/03-/03-gateway-route-update-PLAN.md

3.2 KiB
Raw Permalink Blame History

phase plan type wave depends_on files_modified autonomous requirements must_haves
03- 02 execute 1
03-gateway-cluster-entities
Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs
Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenant.cs
Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwServiceInstance.cs
true
GATEWAY-RESTRUCTURE-03
GATEWAY-RESTRUCTURE-04
truths artifacts
GwTenantRoute 扩展了 Methods, Hosts, Headers, Transforms 等字段
旧实体 GwTenant 和 GwServiceInstance 标记为删除或移除
path provides min_lines
Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs 扩展的路由实体 50

计划 02: 扩展 GwTenantRoute 并删除旧实体

目标

扩展 GwTenantRoute 实体以支持完整的路由匹配能力和转换规则,并删除已废弃的 GwTenant 和 GwServiceInstance 实体。

目的: 添加 YARP 所需的路由匹配字段,同时清理不再需要的实体。

输出: 更新的 GwTenantRoute.cs删除的 GwTenant.cs 和 GwServiceInstance.cs。

上下文

@.planning/phases/03-/03-CONTEXT.md @Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs (现有)

任务

任务 1: 扩展 GwTenantRoute 字段 Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenantRoute.cs 在 GwTenantRoute 中添加以下新字段:
  1. 路由匹配能力:

    • Methods?: string (HTTP 方法,如 "GET,POST")
    • Hosts?: string (Host 头匹配,如 "api.example.com")
    • Headers?: string (Header 匹配规则JSON 格式)
  2. 策略配置:

    • LoadBalancingPolicy?: string (路由级别负载均衡策略覆盖)
    • AuthorizationPolicy?: string (授权策略)
    • CorsPolicy?: string (CORS 策略)
  3. 请求转换:

    • Transforms?: string (请求/响应转换规则JSON 格式)

保留现有字段Id, TenantCode, ServiceName, ClusterId, PathPattern, Priority, Status, IsGlobal dotnet build 通过 GwTenantRoute 已扩展新字段

任务 2: 删除 GwTenant 实体 Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwTenant.cs 删除 GwTenant.cs 文件: - 原因:使用 Platform.Tenant 通过 TenantCode 关联 - 确认无其他依赖引用此实体 dotnet build 通过 GwTenant 实体已删除 任务 3: 删除 GwServiceInstance 实体 Fengling.Platform.Domain/AggregatesModel/GatewayAggregate/GwServiceInstance.cs 删除 GwServiceInstance.cs 文件: - 原因:改用 GwCluster 聚合根内嵌 Destination - 确认无其他依赖引用此实体 dotnet build 通过 GwServiceInstance 实体已删除

验证

  • GwTenantRoute 扩展字段已添加
  • GwTenant.cs 已删除
  • GwServiceInstance.cs 已删除
  • Build 无错误通过

成功标准

Domain 层实体重构完成,准备进行 Infrastructure 层更新。