All checks were successful
Build and Push Docker / build (push) Successful in 6m44s
- Remove IInstanceStore DI registration (replaced by IClusterStore) - Remove GwTenant and GwServiceInstance from ConsoleDbContext config - Update GatewayService to use Match.Path instead of PathPattern - Cast RouteStatus enum to int for Status field - Add 04-SUMMARY.md documentation BREAKING CHANGE: Gateway entity API changes in Platform 1.0.12
1.9 KiB
1.9 KiB
Phase 4 总结:适配 Platform 1.0.12 Gateway 实体变更
概述
本次 Phase 4 成功完成了 Fengling Console 对 Platform 1.0.12 Gateway 实体变更的适配工作。
主要变更
1. Program.cs 依赖注入更新
变更内容:
- 移除了
IInstanceStore和InstanceStore的注册 - 保留了
IClusterStore和ClusterStore的注册
变更原因:
Platform 1.0.12 移除了 IInstanceStore 接口,实例(Destination)现在是 GwCluster 的内嵌对象。
2. ConsoleDbContext 实体配置清理
变更内容:
- 移除了
GwTenant实体配置(原平台中已移除) - 移除了
GwServiceInstance实体配置(已重构为 GwDestination)
3. GatewayService 实体属性适配
变更内容:
| 旧属性 | 新属性 | 说明 |
|---|---|---|
GwTenantRoute.PathPattern (string) |
GwTenantRoute.Match.Path ( GwRouteMatch.Path ) |
路由匹配配置从简单字符串升级为复杂对象 |
Status = RouteStatus.Active (enum) |
Status = (int)RouteStatus.Active (int) |
Status 字段为 int 类型,需要显式转换枚举 |
具体代码变更:
// 旧代码
new GwTenantRoute
{
PathPattern = pathPattern,
Status = RouteStatus.Active,
}
// 新代码
new GwTenantRoute
{
Match = new GwRouteMatch { Path = pathPattern },
Status = (int)RouteStatus.Active,
}
// 旧代码读取
r.PathPattern
r.Status
// 新代码读取
r.Match.Path
r.Status (已是 int)
编译结果
✅ 编译成功,0 个错误,3 个警告(警告为预存在的代码质量问题,与本次变更无关)
验证
dotnet build通过- 无新增编译错误
相关文档
- 实体变更详情:
.planning/docs/gateway-entity-changes-1.0.12.md
下一步
可以考虑的改进:
- 修复 TenantService.cs 中的警告(roleManager 参数未使用)
- 完善 GatewayService 中的空值处理(Match 可能为 null)