- Add Methods, Hosts, Headers, LoadBalancingPolicy, AuthorizationPolicy, CorsPolicy, Transforms fields to GwTenantRoute - Delete GwTenant entity (use Platform.Tenant instead) - Delete GwServiceInstance entity (use GwCluster embedded Destination)
116 lines
2.6 KiB
C#
116 lines
2.6 KiB
C#
namespace Fengling.Platform.Domain.AggregatesModel.GatewayAggregate;
|
||
|
||
/// <summary>
|
||
/// 网关租户路由实体 - 表示路由规则配置
|
||
/// </summary>
|
||
public class GwTenantRoute
|
||
{
|
||
public string Id { get; set; } = Guid.CreateVersion7().ToString("N");
|
||
|
||
/// <summary>
|
||
/// 租户代码
|
||
/// </summary>
|
||
public string TenantCode { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 服务名称
|
||
/// </summary>
|
||
public string ServiceName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 集群ID
|
||
/// </summary>
|
||
public string ClusterId { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 路径匹配模式
|
||
/// </summary>
|
||
public string PathPattern { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 优先级
|
||
/// </summary>
|
||
public int Priority { get; set; } = 0;
|
||
|
||
/// <summary>
|
||
/// 状态
|
||
/// </summary>
|
||
public int Status { get; set; } = 1;
|
||
|
||
/// <summary>
|
||
/// 是否全局路由
|
||
/// </summary>
|
||
public bool IsGlobal { get; set; } = false;
|
||
|
||
/// <summary>
|
||
/// 创建人ID
|
||
/// </summary>
|
||
public long? CreatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间
|
||
/// </summary>
|
||
public DateTime CreatedTime { get; set; } = DateTime.UtcNow;
|
||
|
||
/// <summary>
|
||
/// 更新人ID
|
||
/// </summary>
|
||
public long? UpdatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间
|
||
/// </summary>
|
||
public DateTime? UpdatedTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否删除
|
||
/// </summary>
|
||
public bool IsDeleted { get; set; } = false;
|
||
|
||
/// <summary>
|
||
/// 版本号,用于乐观并发
|
||
/// </summary>
|
||
public int Version { get; set; } = 0;
|
||
|
||
// ===== 路由匹配能力 =====
|
||
|
||
/// <summary>
|
||
/// HTTP 方法匹配(如 "GET,POST")
|
||
/// </summary>
|
||
public string? Methods { get; set; }
|
||
|
||
/// <summary>
|
||
/// Host 头匹配(如 "api.example.com")
|
||
/// </summary>
|
||
public string? Hosts { get; set; }
|
||
|
||
/// <summary>
|
||
/// Header 匹配规则(JSON 格式)
|
||
/// </summary>
|
||
public string? Headers { get; set; }
|
||
|
||
// ===== 策略配置 =====
|
||
|
||
/// <summary>
|
||
/// 路由级别负载均衡策略覆盖
|
||
/// </summary>
|
||
public string? LoadBalancingPolicy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 授权策略
|
||
/// </summary>
|
||
public string? AuthorizationPolicy { get; set; }
|
||
|
||
/// <summary>
|
||
/// CORS 策略
|
||
/// </summary>
|
||
public string? CorsPolicy { get; set; }
|
||
|
||
// ===== 请求转换 =====
|
||
|
||
/// <summary>
|
||
/// 请求/响应转换规则(JSON 格式)
|
||
/// </summary>
|
||
public string? Transforms { get; set; }
|
||
}
|