跳转至

Hango-OpenAPI目录

支持版本: v1.4.0+

1 域名

1.1 CreateDomain- 创建域名

请求方法

名称 Path Action 描述
POST /v1/domain CreateDomain 创建域名

请求参数

名称 类型 必填 描述 示例值
Host String 自定义域名,全局唯一,不支持泛域名 hango.com
Protocol String 协议类型 HTTP/HTTPS HTTP
CertificateId Long SSL证书ID,若协议为HTTPS,该值必填 1
Description String 描述信息,200个字符以内 这是一个域名

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 域名ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 10
}

1.2 UpdateDomain- 更新域名

请求方法

名称 Path Action 描述
POST /v1/domain UpdateDomain 更新域名

请求参数

名称 类型 必填 描述 示例值
DomainId Long 域名ID 1
Description String 描述信息,200个字符以内 这是一个域名

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 域名ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 10
}

1.3 DeleteDomain- 删除域名

请求方法

名称 Path Action 描述
GET /v1/domain DeleteDomain 删除域名,当域名已被网关使用,则不允许删除

请求参数

名称 类型 必填 描述 示例值
DomainId Long 域名ID 1
Description String 描述信息,200个字符以内 这是一个域名

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 域名ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 10
}

1.4 DescribeDomainList- 查询域名列表

请求方法

名称 Path Action 描述
POST /v1/domain DescribeDomainList 查询域名列表

请求参数

名称 类型 必填 描述 示例值
VirtualGwId Long 虚拟网关Id,查询虚拟网关下绑定的域名 1
Pattern String 域名模糊查询条件 hango.co
Protocol String 协议类型 HTTP/HTTPS HTTP

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result List 域名列表

DomainInfoDto

名称 类型 描述 示例值
DomainId Long 域名Id 2
Host String 域名内容 hango.com
Protocol String 协议 HTTP
CertificateId Long 证书Id 1
CertificateName String 证书名称 gateway_cert
ProjectId Long 项目Id 证书所属项目
Description String 描述信息 这是一个域名

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "02fc0f6b-8251-4bce-a006-f5d0b4a95ca6",
  "Result": [
    {
      "DomainId": 4,
      "Host": "test287.com",
      "ProjectId": 3,
      "Protocol": "HTTP",
      "CertificateId":"1",
      "CertificateName":"287cert",
      "Description":"这是一个域名"
    }
  ],
}

2 网关

2.1 UpdateProjectBinding- 关联项目

请求方法

名称 Path Action 描述
POST /v1/virtualGateway UpdateProjectBinding 关联项目

请求参数

名称 类型 必填 描述 示例值
VirtualGwId Long 网关Id 1
ProjectIdList List 需要关联的项目id列表 [1,2,3]

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 网关ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 1
}

2.2 UnBindProject- 解绑项目

请求方法

名称 Path Action 描述
GET /v1/virtualGateway UnBindProject 解绑项目

请求参数

名称 类型 必填 描述 示例值
VirtualGwId Long 网关id 1
ProjectId Long 需要解绑的项目Id 2

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 网关ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 10
}

2.3 BindDomainInfo- 绑定域名

请求方法

名称 Path Action 描述
POST /v1/virtualGateway BindDomainInfo 网关绑定域名,要求域名所属项目已关联网关

请求参数

名称 类型 必填 描述 示例值
VirtualGwId Long 网关Id 1
DomainIds List 需要关联的域名id列表 [1,2,3]

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 网关ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 1
}

2.4 UnBindDomainInfo- 解绑域名

请求方法

名称 Path Action 描述
POST /v1/virtualGateway UnbindDomainInfo 解绑域名

请求参数

名称 类型 必填 描述 示例值
VirtualGwId Long 网关id 1
DomainIds List 需要解绑的域名Id列表 [1,2,3]

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 网关ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 10
}

2.5 DescribeVirtualGatewayList- 查询网关列表

请求方法

名称 Path Action 描述
POST /v1/virtualGateway DescribeVirtualGatewayList 查询网关列表

请求参数

名称 类型 必填 描述 示例值
ProjectIdList List 项目Id列表,查询关联项目列表下的网关 [1,2]
Pattern String 网关名称模糊查询条件 gateway-pro

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result List 虚拟网关列表

VirtualGatewayDto

名称 类型 描述 示例值
VirtualGwId Long 网关Id 2
Name String 网关名称 vg-test-name
Code String 网关唯一标识 gateway-proxy
Addr String 网关访问地址 http://59.111.23.12
ProjectIds List 网关绑定项目Id列表 [2,3,4]
ProjectNames List 网关绑定项目名称列表 [project1,project2,project3]
DomainInfos List 网关绑定域名
EnvId String 网关环境 prod
Protocol String 网关协议 HTTP
Port Int 网关端口 80
CreateTime Long 创建时间,以时间戳形式展示 1675850679661
ModifyTime Long 更新时间,以时间戳形式展示 1675850679661
Description String 备注信息 这是一个网关

DomainInfoDto

名称 类型 描述 示例值
DomainId Long 域名Id 2
Host String 域名内容 hango.com
Protocol String 协议 HTTP
CertificateId Long 证书Id 1
CertificateName String 证书名称 gateway_cert
ProjectId Long 项目Id 证书所属项目
Description String 描述信息 这是一个域名

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "e705f3f9-d183-4065-ba08-eed1e7456c02",
  "Result": [
    {
      "VirtualGwId": 1,
      "Addr": "httpbin.org",
      "Code": "system",
      "Name": "gateway-proxy",
      "Port": 80,
      "ProjectIds": [
        3
      ],
      "ProjectNames": [
        "project1"
      ],
      "Protocol": "HTTP",
      "DomainInfos": [
        {
          "Description": "创建域名",
          "DomainId": 144,
          "Host": "test-qingzhou.com",
          "ProjectId": 3,
          "Protocol": "HTTP"
        }
      ],
      "EnvId": "prod",
      "CreateTime": 1675850679661,
      "ModifyTime": 1682513396396,
      "Description": "默认网关1"
    }
  ]
}

3 服务

3.1 CreateService- 创建服务

请求方法

名称 Path Action 描述
POST /v1/service CreateService 创建服务

请求参数

http服务

名称 类型 必填 描述 示例值
Name String 服务名称,以小写字母或数字开头和结尾,支持符号:-,63个字符以内 bin
Alias String 服务别名,支持中文 httpbin服务
Hosts String 域名列表,以逗号分隔 a.com,b.com
BackendService String 目标服务 httpbin.apigw-demo.svc.cluster.local
PublishType String 发布类型 支持STATIC/DYNAMIC发布, 其中静态发布目标服务的通过ip:pot指定,动态发布指定注册中心中的服务。 DYNAMIC
RegistryCenterType String 注册中心 Kubernetes/Eureka/Nacos,若PublishType为DYNAMIC,则该值必填。默认Kubernetes Kubernetes
Protocol String 服务协议 http
VirtualGwId Long 服务所属网关id 1
TrafficPolicy TrafficPolicyDto 高级配置,包含负载均衡、连接池配置

TrafficPolicyDto

名称 类型 必填 描述 示例值
LoadBalancer LoadBalancerDto 负载均衡策略,支持ROUND_ROBIN、RANDOM、LEAST_CONNECTION
ConnectionPool ConnectionPool 连接池配置

LoadBalancer

名称 类型 必填 描述 示例值
Type String 负载均衡策略类型,目前只开放Simple类型,默认为Simple类型 Simple
Simple String 具体的负载均衡算法 ROUND_ROBIN|LEAST_CONN |RANDOM,默认使用轮询 LEAST_CONN

ConnectionPool

名称 类型 必填 描述 示例值
TCP TcpConnectionPoolDto tcp连接池配置
HTTP HttpConnectionPoolDto http连接池配置

TcpConnectionPoolDto

名称 类型 必填 描述 示例值
MaxConnections Integer 最大连接数,默认值1024 1024
ConnectTimeout Integer tcp连接超时时间,默认值60000 6000

HttpConnectionPoolDto

名称 类型 必填 描述 示例值
Http1MaxPendingRequests Integer 最大等待HTTP请求数,仅适用于HTTP/1.1的服务,因为HTTP/2协议的请求在到来时会立即复用连接,不会在连接池等待,默认值是1024。 1024
Http2MaxRequests Integer 最大请求数,仅使用于HTTP/2的服务。HTTP/1.1的服务使用maxConnections即可,默认值是1024 1024
MaxRequestsPerConnection Integer 每个连接的最大请求数。HTTP/1.1和HTTP/2连接池都遵循此参数,如果没有设置则没有限制,如果设置为1则表示禁用了keep-alive,0表示不限制最多处理的请求数为2^29,默认值0 0
IdleTimeout Integer 空闲超时,定义在多长时间内没有活动请求则关闭连接,默认值3000 3000

Dubbo服务

名称 类型 必填 描述 示例值
Name String 服务名称,以小写字母或数字开头和结尾,支持符号:-,63个字符以内 dubbo-service
Alias String 服务别名,支持中文 dubbo测试服务
BackendService String 目标服务,格式为interface:group:version,以.dubbo后缀结尾 com.netease.apigateway.dubbo.api.TestService:group-a:v2.dubbo
PublishType String 发布类型 dubbo服务只允许配置DYNAMIC DYNAMIC
RegistryCenterType String 注册中心 dubbo服务只允许Zookeeper Zookeeper
Protocol String 服务协议 dubbo
VirtualGwId Long 服务所属网关id 1
TrafficPolicy TrafficPolicyDto 高级配置,包含负载均衡、连接池配置 见HTTP服务

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Id Long 服务ID 1

示例

{
  "RequestId": "77c3b3bd-c772-4c11-bc8c-14e4f2383bf5",
  "Message": "处理成功",
  "Id": 160,
  "Code": "Success"
}

3.2 UpdateService- 更新服务

请求方法

名称 Path Action 描述
POST /v1/service UpdateService 更新域名

请求参数

名称 类型 必填 描述 示例值
Id Long 服务id 1
Alias String 服务别名,支持中文 httpbin服务
Hosts String 域名列表,以逗号分隔 a.com,b.com
TrafficPolicy TrafficPolicyDto 高级配置,包含负载均衡、连接池配置
BackendService String 后端服务实例 httpbin.apigw-demo.svc.cluster.local

TrafficPolicyDto

名称 类型 必填 描述 示例值
LoadBalancer LoadBalancerDto 负载均衡策略,支持ROUND_ROBIN、RANDOM、LEAST_CONNECTION
ConnectionPool ConnectionPool 连接池配置

LoadBalancer

名称 类型 必填 描述 示例值
Type String 负载均衡策略类型,目前只开放Simple类型,默认为Simple类型 Simple
Simple String 具体的负载均衡算法 ROUND_ROBIN|LEAST_CONN |RANDOM,默认使用轮询 LEAST_CONN

ConnectionPool

名称 类型 必填 描述 示例值
TCP TcpConnectionPoolDto tcp连接池配置
HTTP HttpConnectionPoolDto http连接池配置

TcpConnectionPoolDto

名称 类型 必填 描述 示例值
MaxConnections Integer 最大连接数,默认值1024 1024
ConnectTimeout Integer tcp连接超时时间,默认值60000 6000

HttpConnectionPoolDto

名称 类型 必填 描述 示例值
Http1MaxPendingRequests Integer 最大等待HTTP请求数,仅适用于HTTP/1.1的服务,因为HTTP/2协议的请求在到来时会立即复用连接,不会在连接池等待,默认值是1024。 1024
Http2MaxRequests Integer 最大请求数,仅使用于HTTP/2的服务。HTTP/1.1的服务使用maxConnections即可,默认值是1024 1024
MaxRequestsPerConnection Integer 每个连接的最大请求数。HTTP/1.1和HTTP/2连接池都遵循此参数,如果没有设置则没有限制,如果设置为1则表示禁用了keep-alive,0表示不限制最多处理的请求数为2^29,默认值0 0
IdleTimeout Integer 空闲超时,定义在多长时间内没有活动请求则关闭连接,默认值3000 3000

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Id Long 服务ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Result": 10
}

3.3 DeleteService- 删除服务

请求方法

名称 Path Action 描述
GET /v1/service DeleteService 删除服务,若服务已经关联路由,则不允许删除

请求参数

名称 类型 必填 描述 示例值
Id Long 服务ID 1

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Id Long 服务ID 1

示例

{
  "Code": "Success",
  "Message": "处理成功",
  "RequestId": "334c9542-c689-4aa5-9547-acaef8e3dd31",
  "Id": 10
}

3.4 DescribeServicePage- 查询服务列表

请求方法

名称 Path Action 描述
GET /v1/service DescribeServicePage 查询服务列表,支持分页

请求参数

名称 类型 必填 描述 示例值
VirtualGwId Long 虚拟网关Id,查询虚拟网关下的服务 1
Pattern String 模糊查询条件,模糊匹配服务名称或服务表示test
Offset Long 0
Limit Long 最大1000 20

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result List 服务列表

ServiceProxyDto

名称 类型 描述 示例值
Id Long 服务Id 1
Name String 服务名称,以小写字母或数字开头和结尾,支持符号:-,63个字符以内 bin
Alias String 服务别名,支持中文 httpbin服务
Hosts String 域名列表,以逗号分隔 a.com,b.com
BackendService String 目标服务 httpbin.apigw-demo.svc.cluster.local
PublishType String 发布类型 支持STATIC/DYNAMIC发布, 其中静态发布目标服务的通过ip:pot指定,动态发布指定注册中心中的服务。 DYNAMIC
RegistryCenterType String 注册中心 Kubernetes/Eureka/Nacos,若PublishType为DYNAMIC,则该值必填。默认Kubernetes Kubernetes
Protocol String 服务协议 http
VirtualGwId Long 服务所属网关id 1
TrafficPolicy TrafficPolicyDto 高级配置,包含负载均衡、连接池配置
UpdateTime Long 更新时间 1682575653236
ProjectId Long 项目Id 3

TrafficPolicyDto

名称 类型 必填 描述 示例值
LoadBalancer LoadBalancerDto 负载均衡策略,支持ROUND_ROBIN、RANDOM、LEAST_CONNECTION
ConnectionPool ConnectionPool 连接池配置

LoadBalancer

名称 类型 必填 描述 示例值
Type String 负载均衡策略类型,目前只开放Simple类型,默认为Simple类型 Simple
Simple String 具体的负载均衡算法 ROUND_ROBIN|LEAST_CONN |RANDOM,默认使用轮询 LEAST_CONN

ConnectionPool

名称 类型 必填 描述 示例值
TCP TcpConnectionPoolDto tcp连接池配置
HTTP HttpConnectionPoolDto http连接池配置

TcpConnectionPoolDto

名称 类型 必填 描述 示例值
MaxConnections Integer 最大连接数,默认值1024 1024
ConnectTimeout Integer tcp连接超时时间,默认值60000 6000

HttpConnectionPoolDto

名称 类型 必填 描述 示例值
Http1MaxPendingRequests Integer 最大等待HTTP请求数,仅适用于HTTP/1.1的服务,因为HTTP/2协议的请求在到来时会立即复用连接,不会在连接池等待,默认值是1024。 1024
Http2MaxRequests Integer 最大请求数,仅使用于HTTP/2的服务。HTTP/1.1的服务使用maxConnections即可,默认值是1024 1024
MaxRequestsPerConnection Integer 每个连接的最大请求数。HTTP/1.1和HTTP/2连接池都遵循此参数,如果没有设置则没有限制,如果设置为1则表示禁用了keep-alive,0表示不限制最多处理的请求数为2^29,默认值0 0
IdleTimeout Integer 空闲超时,定义在多长时间内没有活动请求则关闭连接,默认值3000 3000
{
  "TotalCount": 1,
  "RequestId": "99046c6f-22cf-4431-9c8f-be3c5de62b05",
  "Message": "处理成功",
  "Code": "Success",
  "Result": [
    {
      "Alias": "eee",
      "BackendService": "nginxcluster-1-clusterip-service.test.svc.cluster.local",
      "GwClusterName": "prod-gateway",
      "GwType": "envoy",
      "Hosts": "2.com",
      "Id": 202,
      "Name": "eee",
      "ProjectId": 3,
      "Protocol": "http",
      "PublishType": "DYNAMIC",
      "RegistryCenterType": "Kubernetes",
      "TrafficPolicy": {
        "ConnectionPool": {
          "HTTP": {
            "Http1MaxPendingRequests": 1024,
            "Http2MaxRequests": 1024,
            "IdleTimeout": 3000,
            "MaxRequestsPerConnection": 0
          },
          "TCP": {
            "ConnectTimeout": 60000,
            "MaxConnections": 1024
          }
        },
        "LoadBalancer": {
          "Simple": "ROUND_ROBIN",
          "Type": "Simple"
        },
      },
      "UpdateTime": 1682575653236,
      "VirtualGwName": "gateway-proxy"
    }
  ]
}

3.5 DescribeService 查询服务详情

请求方法

名称 Path Action 描述
GET /v1/service DescribeService 查询服务详情

请求参数

名称 类型 必填 描述 示例值
Id Long 服务Id 1

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result ServiceProxyDto 服务详情

ServiceProxyDto

名称 类型 描述 示例值
Id Long 服务Id 1
Name String 服务名称,以小写字母或数字开头和结尾,支持符号:-,63个字符以内 bin
Alias String 服务别名,支持中文 httpbin服务
Hosts String 域名列表,以逗号分隔 a.com,b.com
BackendService String 目标服务 httpbin.apigw-demo.svc.cluster.local
PublishType String 发布类型 支持STATIC/DYNAMIC发布, 其中静态发布目标服务的通过ip:pot指定,动态发布指定注册中心中的服务。 DYNAMIC
RegistryCenterType String 注册中心 Kubernetes/Eureka/Nacos,若PublishType为DYNAMIC,则该值必填。默认Kubernetes Kubernetes
Protocol String 服务协议 http
VirtualGwId Long 服务所属网关id 1
TrafficPolicy TrafficPolicyDto 高级配置,包含负载均衡、连接池配置 1
UpdateTime Long 更新时间 1682575653236
ProjectId Long 项目Id 3

TrafficPolicyDto

名称 类型 必填 描述 示例值
LoadBalancer LoadBalancerDto 负载均衡策略,支持ROUND_ROBIN、RANDOM、LEAST_CONNECTION
ConnectionPool ConnectionPool 连接池配置

LoadBalancer

名称 类型 必填 描述 示例值
Type String 负载均衡策略类型,目前只开放Simple类型,默认为Simple类型 Simple
Simple String 具体的负载均衡算法 ROUND_ROBIN|LEAST_CONN |RANDOM,默认使用轮询 LEAST_CONN

ConnectionPool

名称 类型 必填 描述 示例值
TCP TcpConnectionPoolDto tcp连接池配置
HTTP HttpConnectionPoolDto http连接池配置

TcpConnectionPoolDto

名称 类型 必填 描述 示例值
MaxConnections Integer 最大连接数,默认值1024 1024
ConnectTimeout Integer tcp连接超时时间,默认值60000 6000

HttpConnectionPoolDto

名称 类型 必填 描述 示例值
Http1MaxPendingRequests Integer 最大等待HTTP请求数,仅适用于HTTP/1.1的服务,因为HTTP/2协议的请求在到来时会立即复用连接,不会在连接池等待,默认值是1024。 1024
Http2MaxRequests Integer 最大请求数,仅使用于HTTP/2的服务。HTTP/1.1的服务使用maxConnections即可,默认值是1024 1024
MaxRequestsPerConnection Integer 每个连接的最大请求数。HTTP/1.1和HTTP/2连接池都遵循此参数,如果没有设置则没有限制,如果设置为1则表示禁用了keep-alive,0表示不限制最多处理的请求数为2^29,默认值0 0
IdleTimeout Integer 空闲超时,定义在多长时间内没有活动请求则关闭连接,默认值3000 3000
{
  "RequestId": "99046c6f-22cf-4431-9c8f-be3c5de62b05",
  "Message": "处理成功",
  "Code": "Success",
  "Result":{
      "Alias": "eee",
      "BackendService": "nginxcluster-1-clusterip-service.test.svc.cluster.local",
      "GwClusterName": "prod-gateway",
      "GwType": "envoy",
      "Hosts": "2.com",
      "Id": 202,
      "Name": "eee",
      "ProjectId": 3,
      "Protocol": "http",
      "PublishType": "DYNAMIC",
      "RegistryCenterType": "Kubernetes",
      "TrafficPolicy": {
        "ConnectionPool": {
          "HTTP": {
            "Http1MaxPendingRequests": 1024,
            "Http2MaxRequests": 1024,
            "IdleTimeout": 3000,
            "MaxRequestsPerConnection": 0
          },
          "TCP": {
            "ConnectTimeout": 60000,
            "MaxConnections": 1024
          }
        },
        "LoadBalancer": {
          "Simple": "ROUND_ROBIN",
          "Type": "Simple"
        },
      },
      "UpdateTime": 1682575653236,
      "VirtualGwName": "gateway-proxy"
    }
}

4 路由

4.1 CreateRoute- 创建路由

请求方法

名称 Path Action 描述
POST /v1/route CreateRoute 创建路由

请求参数

名称 类型 必填 描述 示例值
Name String 路由名称,以小写字母或数字开头和结尾,支持符号:-,63个字符以内 bin
Alias String 路由别名,支持中文 httpbin路由
VirtualGwId Long 网关id 2
EnableState String 路由状态 enable/disable enable
ServiceMetaForRoute List 路由关联的服务信息,支持多服务 [{ServiceId: "26", Weight: "100", Port: 80}]
Uri MatchDto 路由匹配规则, http path { "Type": "exact", "Value": [ "/status" ] }
Method List 路由匹配规则,http method ["POST","GET"]
Headers List 路由匹配规则,http headers [ { "Type": "exact", "Value": [ "test" ], "Key": "x-test-header"} ]
QueryParams List 路由匹配规则,http query [ { "Type": "exact", "Value": [ "query" ], "Key": "querytest" } ]
Priority Long 路由匹配优先级,相同匹配条件,priority越大优先级越高,默认值50 30
Timeout Long 路由超时时间,默认60000ms 3000
HttpRetry HttpRetryDto 路由重试策略 { "IsRetry": true, "RetryOn": "5xx", "Attempts": "2", "PerTryTimeout": "60000" }
Description String 描述信息 这是一个http路由

ServiceMetaForRoute

名称 类型 必填 描述 示例值
ServiceId Long 服务Id 2
Port Long 服务端口,默认80 80
Weight Long 服务权重 50

HttpRetryDto

名称 类型 必填 描述 示例值
IsRetry Boolean 是否开启重试,默认关闭 true
Attempts Long 重试次数,默认2次,最大10次 3
PerTryTimeout Long 重试超时时间,默认60000,单位ms 2111
RetryOn String 重试条件,支持5xx,gateway-error,connect-failure。 5xx目标服务响应任何 5xx;gateway-error:类似于5xx,但只会重试导致 502、503 或 504 的请求。connect-failure:如果由于与上游服务器的连接失败(连接超时等)导致请求失败,网关将尝试重试。(包含在*5xx*中) 5xx

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 路由ID 1

示例

{
  "RequestId": "77c3b3bd-c772-4c11-bc8c-14e4f2383bf5",
  "Message": "处理成功",
  "Result": 160,
  "Code": "Success"
}

4.2 UpdateRoute- 更新路由

请求方法

名称 Path Action 描述
POST /v1/route UpdateRoute 更新路由

请求参数

名称 类型 必填 描述 示例值
Id Long 路由Id 2
Alias String 路由别名,支持中文 httpbin路由
EnableState String 路由状态 enable/disable enable
ServiceMetaForRoute List 路由关联的服务信息,支持多服务 [{ServiceId: "26", Weight: "100", Port: 80}]
Uri MatchDto 路由匹配规则, http path { "Type": "exact", "Value": [ "/status" ] }
Method List 路由匹配规则,http method ["POST","GET"]
Headers List 路由匹配规则,http headers [ { "Type": "exact", "Value": [ "test" ], "Key": "x-test-header"} ]
QueryParams List 路由匹配规则,http query [ { "Type": "exact", "Value": [ "query" ], "Key": "querytest" } ]
Priority Long 路由匹配优先级,相同匹配条件,priority越大优先级越高,默认值50 30
Timeout Long 路由超时时间,默认60000ms 3000
HttpRetry HttpRetryDto 路由重试策略 { "IsRetry": true, "RetryOn": "5xx", "Attempts": "2", "PerTryTimeout": "60000" }
Description String 描述信息 这是一个http路由

ServiceMetaForRoute

名称 类型 必填 描述 示例值
ServiceId Long 服务Id 2
Port Long 服务端口,默认80 80
Weight Long 服务权重 50

HttpRetryDto

名称 类型 必填 描述 示例值
IsRetry Boolean 是否开启重试,默认关闭 true
Attempts Long 重试次数,默认2次,最大10次 3
PerTryTimeout Long 重试超时时间,默认60000,单位ms 2111
RetryOn String 重试条件,支持5xx,gateway-error,connect-failure。 5xx目标服务响应任何 5xx;gateway-error:类似于5xx,但只会重试导致 502、503 或 504 的请求。connect-failure:如果由于与上游服务器的连接失败(连接超时等)导致请求失败,网关将尝试重试。(包含在*5xx*中) 5xx

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID
Result Long 路由ID 1

示例

{
  "RequestId": "77c3b3bd-c772-4c11-bc8c-14e4f2383bf5",
  "Message": "处理成功",
  "Result": 160,
  "Code": "Success"
}

4.3 DeleteRoute- 删除路由

请求方法

名称 Path Action 描述
GET /v1/route DeleteRoute 删除路由

请求参数

名称 类型 必填 描述 示例值
RouteId Long 服务ID 1

返回参数

名称 类型 描述 示例值
Code String 返回码
Message String 返回信息
RequestId String 请求ID

示例

{
  "RequestId": "11cfc904-cd58-405b-b8d3-04539c3c97e4",
  "Message": "处理成功",
  "Code": "Success"
}

4.4 DescribeRouteList- 查询路由列表

请求方法

名称 Path Action 描述
GET /v1/route DescribeRouteList 查询路由列表,支持分页

请求参数

名称 类型 描述 示例值
VirtualGwId Long 网关Id,查询网关下的路由 1
Pattern String 模糊查询条件,模糊匹配名称、别名、uri test
EnableStatus String 使能状态 enable
Limit Long 最大1000 20
Offset Long 0

返回参数

名称 类型 描述 示例值
TotalCount Long 路由总数 2
RequestId String 请求ID
Result List 路由列表

RouteDto

名称 类型 描述 示例值
Id Long 路由Id 2
Alias String 路由别名,支持中文 httpbin路由
EnableState String 路由状态 enable/disable enable
ServiceMetaForRoute List 路由关联的服务信息,支持多服务 [{ServiceId: "26", Weight: "100", Port: 80}]
Uri MatchDto 路由匹配规则, http path { "Type": "exact", "Value": [ "/status" ] }
Method List 路由匹配规则,http method ["POST","GET"]
Headers List 路由匹配规则,http headers [ { "Type": "exact", "Value": [ "test" ], "Key": "x-test-header"} ]
QueryParams List 路由匹配规则,http query [ { "Type": "exact", "Value": [ "query" ], "Key": "querytest" } ]
Priority Long 路由匹配优先级,相同匹配条件,priority越大优先级越高,默认值50 30
Timeout Long 路由超时时间,默认60000ms 3000
HttpRetry HttpRetryDto 路由重试策略 { "IsRetry": true, "RetryOn": "5xx", "Attempts": "2", "PerTryTimeout": "60000" }
Description String 描述信息 这是一个http路由
UpdateTime Long 更新时间

ServiceMetaForRoute

名称 类型 描述 示例值
ServiceId Long 服务Id 2
ServiceName String 服务名称 dubboService
Port Long 服务端口,默认80 80
Weight Long 服务权重 50
BackendService String 目标服务 httpbin.apigw-demo.svc.cluster.local
Protocol String 协议 dubbo

HttpRetryDto

名称 类型 必填 描述 示例值
IsRetry Boolean 是否开启重试,默认关闭 true
Attempts Long 重试次数,默认2次,最大10次 3
PerTryTimeout Long 重试超时时间,默认60000,单位ms 2111
RetryOn String 重试条件,支持5xx,gateway-error,connect-failure。 5xx目标服务响应任何 5xx;gateway-error:类似于5xx,但只会重试导致 502、503 或 504 的请求。connect-failure:如果由于与上游服务器的连接失败(连接超时等)导致请求失败,网关将尝试重试。(包含在*5xx*中) 5xx

示例

{
  "TotalCount": 1,
  "RequestId": "f56d098b-5e2a-49d2-9bdd-74bca1da6fda",
  "RouteList": [
    {
      "Alias": "hjhdemo",
      "CreateTime": 1683271053997,
      "Description": "",
      "EnableState": "enable",
      "EnvId": "prod",
      "GwType": "envoy",
      "Headers": null,
      "Hosts": [
        "qingzhou.com"
      ],
      "HttpRetry": {
        "Attempts": 2,
        "IsRetry": false,
        "PerTryTimeout": 60000,
        "RetryOn": ""
      },
      "Id": 276,
      "MetaMap": null,
      "Method": [],
      "MirrorSwitch": 0,
      "MirrorTraffic": null,
      "Name": "hjhdemo",
      "Orders": 50200723,
      "Priority": 50,
      "ProjectId": 3,
      "QueryParams": null,
      "ServiceMetaForRoute": [
        {
          "BackendService": "hjhdemo.ns1.svc.cluster.local",
          "DestinationServices": null,
          "Port": 3333,
          "Protocol": "http",
          "ServiceId": 269,
          "ServiceName": "hjh-demo",
          "ServiceSource": "Kubernetes",
          "VirtualGateway": "gateway-proxy",
          "Weight": 100
        }
      ],
      "Timeout": 60000,
      "UpdateTime": 1683271062689,
      "Uri": {
        "Type": "prefix",
        "Value": [
          "/hello"
        ]
      },
      "VirtualGwId": 1,
      "VirtualGwName": "gateway-proxy",
      "serviceIds": [
        269
      ]
    }
  ]
}

4.5 DescribeRoute 查询路由详情

请求方法

名称 Path Action 描述
GET /v1/route DescribeRoute 查询路由详情

请求参数

名称 类型 必填 描述 示例值
Id Long 路由Id 1

返回参数

名称 类型 描述 示例值
RequestId String 请求ID
Route RouteDto 路由详情

RouteDto

名称 类型 描述 示例值
Id Long 路由Id 2
Alias String 路由别名,支持中文 httpbin路由
EnableState String 路由状态 enable/disable enable
ServiceMetaForRoute List 路由关联的服务信息,支持多服务 [{ServiceId: "26", Weight: "100", Port: 80}]
Uri MatchDto 路由匹配规则, http path { "Type": "exact", "Value": [ "/status" ] }
Method List 路由匹配规则,http method ["POST","GET"]
Headers List 路由匹配规则,http headers [ { "Type": "exact", "Value": [ "test" ], "Key": "x-test-header"} ]
QueryParams List 路由匹配规则,http query [ { "Type": "exact", "Value": [ "query" ], "Key": "querytest" } ]
Priority Long 路由匹配优先级,相同匹配条件,priority越大优先级越高,默认值50 30
Timeout Long 路由超时时间,默认60000ms 3000
HttpRetry HttpRetryDto 路由重试策略 { "IsRetry": true, "RetryOn": "5xx", "Attempts": "2", "PerTryTimeout": "60000" }
Description String 描述信息 这是一个http路由
UpdateTime Long 更新时间

ServiceMetaForRoute

名称 类型 描述 示例值
ServiceId Long 服务Id 2
ServiceName String 服务名称 dubboService
Port Long 服务端口,默认80 80
Weight Long 服务权重 50
BackendService String 目标服务 httpbin.apigw-demo.svc.cluster.local
Protocol String 协议 dubbo

HttpRetryDto

名称 类型 必填 描述 示例值
IsRetry Boolean 是否开启重试,默认关闭 true
Attempts Long 重试次数,默认2次,最大10次 3
PerTryTimeout Long 重试超时时间,默认60000,单位ms 2111
RetryOn String 重试条件,支持5xx,gateway-error,connect-failure。 5xx目标服务响应任何 5xx;gateway-error:类似于5xx,但只会重试导致 502、503 或 504 的请求。connect-failure:如果由于与上游服务器的连接失败(连接超时等)导致请求失败,网关将尝试重试。(包含在*5xx*中) 5xx

示例

{
  "RequestId": "9fde1d4a-28b6-4280-9e1d-953c45c17b03",
  "Route": {
    "Alias": "grpc-scenario-route-rule",
    "CreateTime": 1683278921123,
    "Description": null,
    "EnableState": "enable",
    "Headers": null,
    "Hosts": [
      "test251-qingzhou.com"
    ],
    "HttpRetry": {
      "Attempts": 2,
      "IsRetry": false,
      "PerTryTimeout": 60000,
      "RetryOn": ""
    },
    "Id": 283,
    "Name": "grpc-scenario-route-rule",
    "Priority": 50,
    "ProjectId": 3,
    "QueryParams": null,
    "ServiceMetaForRoute": [
      {
        "BackendService": "grpc-demo-service.apigw-demo.svc.cluster.local:55055"
        "Port": 80,
        "Protocol": "grpc",
        "ServiceId": 281,
        "ServiceName": "grcp-scenario-service",
        "Weight": 100
      }
    ],
    "Timeout": 60000,
    "UpdateTime": 1683278921123,
    "Uri": {
      "Type": "exact",
      "Value": [
        "/helloworld.Greeter/SayHello"
      ]
    }
  }
}
Back to top