网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务

创建API

更新时间:2024-08-14 GMT+08:00
分享

功能介绍

添加一个API,API即一个服务接口,具体的服务能力。API分为两部分,第一部分为面向API使用者的API接口,定义了使用者如何调用这个API。第二部分面向API提供者,由API提供者定义这个API的真实的后端情况,定义了ROMA Connect如何去访问真实的后端服务。API的真实后端服务目前支持的类型:传统的HTTP/HTTPS形式的web后端、函数工作流、MOCK。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/apic/instances/{instance_id}/apis

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。

instance_id

String

实例ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

API名称。

支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头。

说明:

中文字符必须为UTF-8或者unicode编码。

最小长度:3

最大长度:255

type

Integer

API类型

  • 1:公有API
  • 2:私有API

version

String

API的版本

最大长度:16

req_protocol

String

API的请求协议

  • HTTP
  • HTTPS
  • BOTH:同时支持HTTP和HTTPS

缺省值:HTTPS

req_method

String

API的请求方式

req_uri

String

请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ .等特殊字符,总长度不超过512,且满足URI规范。

/apic/health_check为服务集成预置的健康检查路径,当req_method=GET时不支持req_uri=/apic/health_check。

说明:

需要服从URI规范。

auth_type

String

API的认证方式

  • NONE:无认证
  • APP:APP认证
  • IAM:IAM认证
  • AUTHORIZER:自定义认证

auth_opt

AuthOpt object

认证方式参数。

cors

Boolean

是否支持跨域。

  • TRUE:支持
  • FALSE:不支持

缺省值:false

match_mode

String

API的匹配方式。

  • SWA:前缀匹配
  • NORMAL:正常匹配(绝对匹配) 默认:NORMAL

backend_type

String

后端类型。

  • HTTP:web后端
  • FUNCTION:函数工作流
  • MOCK:模拟的后端

仅控制默认后端类型,策略后端不受此字段控制

remark

String

API描述。

不允许带有<、>字符。

说明:

中文字符必须为UTF-8或者unicode编码。

最小长度:0

最大长度:1000

group_id

String

API所属的分组编号。

最小长度:1

最大长度:65

body_remark

String

API请求体描述,可以是请求体示例、媒体类型、参数等信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:20480

result_normal_sample

String

正常响应示例,描述API的正常返回信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:20480

result_failure_sample

String

失败返回示例,描述API的异常返回信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:20480

authorizer_id

String

前端自定义认证对象的ID。

最小长度:1

最大长度:65

tags

Array of strings

标签。

支持英文、数字、中文、特殊符号(-*#%.:_),且只能以中文或英文开头。

默认支持10个标签,如需扩大配额请联系技术工程师修改API_TAG_NUM_LIMIT配置。

最小长度:1

最大长度:128

response_id

String

分组自定义响应ID。

暂不支持

最小长度:1

最大长度:65

roma_app_id

String

API归属的集成应用编号。

API分组为全局分组时或API绑定自定义域名时必填。

最小长度:1

最大长度:65

domain_name

String

API绑定的自定义域名,使用自定义域名时roma_app_id字段必填。

最大长度:255

tag

String

标签。

待废弃,优先使用tags字段。

最大长度:255

content_type

String

请求内容格式类型:

application/json application/xml multipart/form-data text/plain

mock_info

ApiMockCreate object

mock后端详情

func_info

ApiFuncCreate object

函数工作流后端详情

req_params

Array of ReqParamBase objects

API的请求参数列表

backend_params

Array of BackendParamBase objects

API的后端参数列表

policy_mocks

Array of ApiPolicyMockCreate objects

mock策略后端列表

policy_functions

Array of ApiPolicyFunctionCreate objects

函数工作流策略后端列表

backend_api

BackendApiCreate object

web后端详情

policy_https

Array of ApiPolicyHttpCreate objects

web策略后端列表

表4 AuthOpt

参数

是否必选

参数类型

描述

app_code_auth_type

String

AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE:

  • DISABLE:不开启简易认证
  • HEADER:开启简易认证且AppCode位置在HEADER

缺省值:DISABLE

表5 ApiMockCreate

参数

是否必选

参数类型

描述

remark

String

描述信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

result_content

String

返回结果

version

String

版本。字符长度不超过64

authorizer_id

String

后端自定义认证ID

status_code

Integer

mock后端自定义状态码: "200": "OK", "201": "Created", "202": "Accepted", "203": "NonAuthoritativeInformation", "204": "NoContent", "205": "ResetContent", "206": "PartialContent", "300": "MultipleChoices", "301": "MovedPermanently", "302": "Found", "303": "SeeOther", "304": "NotModified", "305": "UseProxy", "306": "Unused", "307": "TemporaryRedirect", "400": "BadRequest", "401": "Unauthorized", "402": "PaymentRequired", "403": "Forbidden", "404": "NotFound", "405": "MethodNotAllowed", "406": "NotAcceptable", "407": "ProxyAuthenticationRequired", "408": "RequestTimeout", "409": "Conflict", "410": "Gone", "411": "LengthRequired", "412": "PreconditionFailed", "413": "RequestEntityTooLarge", "414": "RequestURITooLong", "415": "UnsupportedMediaType", "416": "RequestedRangeNotSatisfiable", "417": "ExpectationFailed", "450": "ParameterRequried", "451": "MethodConnectException", "500": "InternalServerError", "501": "NotImplemented", "502": "BadGateway", "503": "ServiceUnavailable", "504": "GatewayTimeout", "505": "HTTPVersionNotSupported",

header

String

mock后端自定义响应头header

格式:[{"key":"","value": "", "remark:""}, {"key2":"","value2": "","remark2:""}]

参数说明:

key:mock后端自定义响应头header key, 支持英文,数字,中划线,且只能以英文字母或数字开头,1 ~ 64字符

value: mock后端自定义响应头header value,中文字符必须为UTF-8或者unicode编码unicode编码,不能为空,最大长度为10240

remark:mock后端自定义响应头header remark,中文字符必须为UTF-8 或者unicode编码,可以为空,最大长度为2048

表6 ApiFuncCreate

参数

是否必选

参数类型

描述

function_urn

String

函数URN

network_type

String

对接函数的网络架构类型

  • V1:非VPC网络架构
  • V2:VPC网络架构

缺省值:V1

remark

String

描述信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

invocation_type

String

调用类型

  • async: 异步
  • sync:同步

version

String

函数版本

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

最大长度:64

alias_urn

String

函数别名URN

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

authorizer_id

String

后端自定义认证ID

表7 ReqParamBase

参数

是否必选

参数类型

描述

name

String

参数名称。 由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。

最小长度:1

最大长度:32

type

String

参数类型

location

String

参数位置

default_value

String

参数默认值

sample_value

String

参数示例值

required

Integer

是否必须

  • 1:是
  • 2:否

location为PATH时,required默认为1,其他场景required默认为2

valid_enable

Integer

是否开启校验

  • 1:开启校验
  • 2:不开启校验

缺省值:2

remark

String

描述信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

enumerations

String

参数枚举值

min_num

Integer

参数最小值

参数类型为NUMBER时有效

max_num

Integer

参数最大值

参数类型为NUMBER时有效

min_size

Integer

参数最小长度

参数类型为STRING时有效

max_size

Integer

参数最大长度

参数类型为STRING时有效

regular

String

正则校验规则

暂不支持

json_schema

String

JSON校验规则

暂不支持

pass_through

Integer

是否透传

  • 1:是
  • 2:否

orchestrations

Array of strings

请求参数编排规则列表,该参数暂不支持

请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高 如果编排规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“配额说明”章节

表8 ApiPolicyMockCreate

参数

是否必选

参数类型

描述

result_content

String

返回结果

status_code

Integer

mock后端自定义状态码: "200": "OK", "201": "Created", "202": "Accepted", "203": "NonAuthoritativeInformation", "204": "NoContent", "205": "ResetContent", "206": "PartialContent", "300": "MultipleChoices", "301": "MovedPermanently", "302": "Found", "303": "SeeOther", "304": "NotModified", "305": "UseProxy", "306": "Unused", "307": "TemporaryRedirect", "400": "BadRequest", "401": "Unauthorized", "402": "PaymentRequired", "403": "Forbidden", "404": "NotFound", "405": "MethodNotAllowed", "406": "NotAcceptable", "407": "ProxyAuthenticationRequired", "408": "RequestTimeout", "409": "Conflict", "410": "Gone", "411": "LengthRequired", "412": "PreconditionFailed", "413": "RequestEntityTooLarge", "414": "RequestURITooLong", "415": "UnsupportedMediaType", "416": "RequestedRangeNotSatisfiable", "417": "ExpectationFailed", "450": "ParameterRequried", "451": "MethodConnectException", "500": "InternalServerError", "501": "NotImplemented", "502": "BadGateway", "503": "ServiceUnavailable", "504": "GatewayTimeout", "505": "HTTPVersionNotSupported",

header

String

mock后端自定义响应头header

格式:[{"key":"","value": "", "remark:""}, {"key2":"","value2": "","remark2:""}]

参数说明:

key:mock后端自定义响应头header key, 支持英文,数字,中划线,且只能以英文字母或数字开头,1 ~ 64字符

value: mock后端自定义响应头header value,中文字符必须为UTF-8或者unicode编码,不能为空,最大长度为10240

remark:mock后端自定义响应头header remark,中文字符必须为UTF-8 或者unicode编码,可以为空,最大长度为2048

effect_mode

String

关联的策略组合模式:

  • ALL:满足全部条件
  • ANY:满足任一条件

name

String

策略后端名称。字符串由中文、英文字母、数字、中划线、下划线组成,且只能以中文或英文开头。

最小长度:3

最大长度:64

backend_params

Array of BackendParamBase objects

后端参数列表

conditions

Array of ApiConditionCreate objects

策略条件列表

authorizer_id

String

后端自定义认证对象的ID

表9 ApiPolicyFunctionCreate

参数

是否必选

参数类型

描述

function_urn

String

函数URN

network_type

String

对接函数的网络架构类型

  • V1:非VPC网络架构
  • V2:VPC网络架构

缺省值:V1

invocation_type

String

调用类型

  • async: 异步
  • sync:同步

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

version

String

函数版本

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

最大长度:64

alias_urn

String

函数别名URN

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

effect_mode

String

关联的策略组合模式:

  • ALL:满足全部条件
  • ANY:满足任一条件

name

String

策略后端名称。字符串由中文、英文字母、数字、中划线、下划线组成,且只能以中文或英文开头。

最小长度:3

最大长度:64

backend_params

Array of BackendParamBase objects

后端参数列表

conditions

Array of ApiConditionCreate objects

策略条件列表

authorizer_id

String

后端自定义认证对象的ID

表10 BackendApiCreate

参数

是否必选

参数类型

描述

authorizer_id

String

后端自定义认证对象的ID

url_domain

String

后端服务的地址。不使用VPC通道时,url_domain为必填。

由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。

支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头

req_protocol

String

请求协议

remark

String

描述。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

req_method

String

请求方式

version

String

web后端版本,字符长度不超过16

req_uri

String

请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ .等特殊字符,总长度不超过512,且满足URI规范。

支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。

说明:

需要服从URI规范。

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

enable_client_ssl

Boolean

是否开启双向认证

retry_count

String

服务集成请求后端服务的重试次数,默认为-1,范围[-1,10]

缺省值:-1

vpc_channel_info

VpcInfo object

VPC通道详情。如果vpc_channel_status = 1,则这个object类型为必填信息

vpc_channel_status

Integer

是否使用VPC通道

  • 1:使用VPC通道
  • 2:不使用VPC通道
表11 ApiPolicyHttpCreate

参数

是否必选

参数类型

描述

url_domain

String

策略后端的Endpoint。由域名(或IP地址)和端口号组成,总长度不超过255。格式为域名:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443, HTTP默认端口号为80。支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、“_”、“-”组成,且只能以英文开头。

req_protocol

String

请求协议:HTTP、HTTPS

req_method

String

请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY

req_uri

String

请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ .等特殊字符,总长度不超过512,且满足URI规范。

支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。

说明:

需要服从URI规范。

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

enable_client_ssl

Boolean

是否开启双向认证

retry_count

String

服务集成请求后端服务的重试次数,默认为-1,范围[-1,10]

缺省值:-1

effect_mode

String

关联的策略组合模式:

  • ALL:满足全部条件
  • ANY:满足任一条件

name

String

策略后端名称。字符串由中文、英文字母、数字、中划线、下划线组成,且只能以中文或英文开头。

最小长度:3

最大长度:64

backend_params

Array of BackendParamBase objects

后端参数列表

conditions

Array of ApiConditionCreate objects

策略条件列表

authorizer_id

String

后端自定义认证对象的ID

vpc_channel_info

VpcInfo object

VPC通道详情。如果vpc_channel_status = 1,则这个object类型为必填信息

vpc_channel_status

Integer

是否使用VPC通道

  • 1 : 使用VPC通道
  • 2 : 不使用VPC通道
表12 BackendParamBase

参数

是否必选

参数类型

描述

name

String

参数名称。 字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。

最小长度:1

最大长度:32

location

String

参数位置:PATH、QUERY、HEADER

origin

String

参数类别:REQUEST、CONSTANT、SYSTEM

value

String

参数值。字符长度不超过255 origin类别为REQUEST时,此字段值为req_params中的参数名称;

origin类别为CONSTANT时,此字段值为参数真正的值;

origin类别为SYSTEM时,此字段值为系统参数名称,系统参数分为网关内置参数、前端认证参数和后端认证参数,当API前端安全认证方式为自定义认证时,可以填写前端认证参数,当API开启后端认证时,可以填写后端认证参数。

网关内置参数取值及对应含义:

  • $context.sourceIp:API调用者的源地址
  • $context.stage:API调用的部署环境
  • $context.apiName: API的名称
  • $context.apiId:API的ID
  • $context.appName: API调用者的APP对象名称
  • $context.appId:API调用者的APP对象ID
  • $context.requestId:当次API调用生成跟踪ID
  • $context.serverAddr:网关的服务器地址
  • $context.serverName:网关的服务器名称
  • $context.handleTime:本次API调用的处理时间
  • $context.providerAppId:API拥有者的应用对象ID,暂不支持使用
  • $context.clientCertCN:开启客户端认证时,本次API调用携带的客户端证书CN

前端认证参数取值:以“$context.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa

后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa

最大长度:255

remark

String

描述。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

表13 ApiConditionCreate

参数

是否必选

参数类型

描述

req_param_name

String

关联的请求参数对象名称。策略类型为param时必选

sys_param_name

String

系统参数名称。策略类型为system时必选。支持以下系统参数

  • req_path:请求路径。如 /a/b
  • req_method:请求方法。如 GET
  • reqPath:请求路径,废弃。如 /a/b
  • reqMethod:请求方法,废弃。如 GET

cookie_param_name

String

COOKIE参数名称。策略类型为cookie时必选

最小长度:0

最大长度:255

frontend_authorizer_param_name

String

系统参数-前端认证参数名称。策略类型为frontend_authorizer时必选,前端认证参数名称以"$context.authorizer.frontend."字符串为前缀。例如,前端认证参数名称为user_name,加上前缀为$context.authorizer.frontend.user_name。

condition_type

String

策略条件

  • exact:绝对匹配
  • enum:枚举
  • pattern:正则

策略类型为param、cookie、frontend_authorizer时必选

condition_origin

String

策略类型

  • param:参数
  • source:源IP
  • system:系统参数-网关内置参数
  • cookie: COOKIE参数
  • frontend_authorizer: 系统参数-前端认证参数
  • orchestration: 参数编排规则

condition_value

String

策略值;策略类型为param、source、cookie、frontend_authorizer时必填

mapped_param_name

String

参数编排规则编排后生成的参数名称,当condition_origin为orchestration的时候必填,并且生成的参数名称必须在API绑定的编排规则中存在

mapped_param_location

String

参数编排规则编排后生成的参数所在的位置,当condition_origin为orchestration的时候必填,并且生成的参数所在的位置必须在API绑定的编排规则中存在

表14 VpcInfo

参数

是否必选

参数类型

描述

ecs_id

String

云服务器ID

ecs_name

String

云服务器名称

cascade_flag

Boolean

是否使用级联方式

暂不支持

vpc_channel_proxy_host

String

代理主机

vpc_channel_id

String

VPC通道编号

最大长度:64

vpc_channel_port

Integer

VPC通道端口

响应参数

状态码: 201

表15 响应Body参数

参数

参数类型

描述

name

String

API名称。

支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头。

说明:

中文字符必须为UTF-8或者unicode编码。

最小长度:3

最大长度:255

type

Integer

API类型

  • 1:公有API
  • 2:私有API

version

String

API的版本

最大长度:16

req_protocol

String

API的请求协议

  • HTTP
  • HTTPS
  • BOTH:同时支持HTTP和HTTPS

缺省值:HTTPS

req_method

String

API的请求方式

req_uri

String

请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ .等特殊字符,总长度不超过512,且满足URI规范。

/apic/health_check为服务集成预置的健康检查路径,当req_method=GET时不支持req_uri=/apic/health_check。

说明:

需要服从URI规范。

auth_type

String

API的认证方式

  • NONE:无认证
  • APP:APP认证
  • IAM:IAM认证
  • AUTHORIZER:自定义认证

auth_opt

AuthOpt object

认证方式参数

cors

Boolean

是否支持跨域

  • TRUE:支持
  • FALSE:不支持

缺省值:false

match_mode

String

API的匹配方式

  • SWA:前缀匹配
  • NORMAL:正常匹配(绝对匹配) 默认:NORMAL

backend_type

String

后端类型

  • HTTP:web后端
  • FUNCTION:函数工作流
  • MOCK:模拟的后端

仅控制默认后端类型,策略后端不受此字段控制

remark

String

API描述。

不允许带有<、>字符

说明:

中文字符必须为UTF-8或者unicode编码。

最小长度:0

最大长度:1000

group_id

String

API所属的分组编号

最小长度:1

最大长度:65

body_remark

String

API请求体描述,可以是请求体示例、媒体类型、参数等信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:20480

result_normal_sample

String

正常响应示例,描述API的正常返回信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:20480

result_failure_sample

String

失败返回示例,描述API的异常返回信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:20480

authorizer_id

String

前端自定义认证对象的ID

最小长度:1

最大长度:65

tags

Array of strings

标签。

支持英文、数字、中文、特殊符号(-*#%.:_),且只能以中文或英文开头。

默认支持10个标签,如需扩大配额请联系技术工程师修改API_TAG_NUM_LIMIT配置。

最小长度:1

最大长度:128

response_id

String

分组自定义响应ID

暂不支持

最小长度:1

最大长度:65

roma_app_id

String

API归属的集成应用编号

API分组为全局分组时或API绑定自定义域名时必填。

最小长度:1

最大长度:65

domain_name

String

API绑定的自定义域名,使用自定义域名时roma_app_id字段必填。

最大长度:255

tag

String

标签

待废弃,优先使用tags字段

最大长度:255

content_type

String

请求内容格式类型:

application/json application/xml multipart/form-data text/plain

id

String

API编号

status

Integer

API状态

  • 1: 有效
  • 2: 锁定

arrange_necessary

Integer

是否需要编排:1,是;2,否

register_time

String

API注册时间

update_time

String

API修改时间

group_name

String

API所属分组的名称

group_version

String

API所属分组的版本

run_env_name

String

发布的环境名称

存在多个发布记录时,环境名称之间用|隔开

run_env_id

String

发布的环境编号

存在多个发布记录时,环境编号之间用|隔开

publish_id

String

发布记录编号

存在多个发布记录时,发布记录编号之间用|隔开

publish_time

String

发布时间

存在多个发布记录时,发布时间之间用|隔开

roma_app_name

String

API归属的集成应用名称

ld_api_id

String

当API的后端为自定义后端时,对应的自定义后端API编号

backend_api

BackendApi object

web后端详情

api_group_info

ApiGroupCommonInfo object

API分组信息

func_info

ApiFunc object

函数工作流后端详情

mock_info

ApiMock object

mock后端详情

req_params

Array of ReqParam objects

API的请求参数列表

backend_params

Array of BackendParam objects

API的后端参数列表

policy_functions

Array of ApiPolicyFunctionResp objects

函数工作流策略后端列表

policy_mocks

Array of ApiPolicyMockResp objects

mock策略后端列表

policy_https

Array of ApiPolicyHttpResp objects

web策略后端列表

表16 AuthOpt

参数

参数类型

描述

app_code_auth_type

String

AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE:

  • DISABLE:不开启简易认证
  • HEADER:开启简易认证且AppCode位置在HEADER

缺省值:DISABLE

表17 BackendApi

参数

参数类型

描述

authorizer_id

String

后端自定义认证对象的ID

url_domain

String

后端服务的地址。不使用VPC通道时,url_domain为必填。

由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。

支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头

req_protocol

String

请求协议

remark

String

描述。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

req_method

String

请求方式

version

String

web后端版本,字符长度不超过16

req_uri

String

请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ .等特殊字符,总长度不超过512,且满足URI规范。

支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。

说明:

需要服从URI规范。

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

enable_client_ssl

Boolean

是否开启双向认证

retry_count

String

服务集成请求后端服务的重试次数,默认为-1,范围[-1,10]

缺省值:-1

id

String

编号

status

Integer

后端状态

  • 1: 有效

register_time

String

注册时间

update_time

String

修改时间

vpc_channel_info

VpcInfo object

VPC通道详情。如果vpc_channel_status = 1,则这个object类型为必填信息

vpc_channel_status

Integer

是否使用VPC通道

  • 1:使用VPC通道
  • 2:不使用VPC通道
表18 ApiGroupCommonInfo

参数

参数类型

描述

id

String

编号

name

String

API分组名称

status

Integer

状态

  • 1: 有效
  • 2: 锁定

sl_domain

String

系统默认分配的子域名

register_time

String

创建时间

update_time

String

最近修改时间

on_sell_status

Integer

是否已上架云市场:

  • 1:已上架
  • 2:未上架
  • 3:审核中

ROMA Connect暂未对接云市场,此字段默认返回2

url_domains

Array of UrlDomain objects

分组上绑定的独立域名列表

表19 UrlDomain

参数

参数类型

描述

id

String

域名编号

domain

String

访问域名

cname_status

Integer

域名cname状态:

  • 1:未解析
  • 2:解析中
  • 3:解析成功
  • 4:解析失败

ssl_id

String

SSL证书编号

ssl_name

String

SSL证书名称

min_ssl_version

String

最小ssl协议版本号。支持TLSv1.1或TLSv1.2

缺省值:TLSv1.1

verified_client_certificate_enabled

Boolean

是否开启客户端证书校验。只有绑定证书时,该参数才生效。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。

缺省值:false

is_has_trusted_root_ca

Boolean

是否存在信任的根证书CA。当绑定证书存在trusted_root_ca时为true。

缺省值:false

ssl_infos

Array of SslInfo objects

SSL证书列表

表20 SslInfo

参数

参数类型

描述

ssl_id

String

SSL证书编号

ssl_name

String

SSL证书名称

algorithm_type

String

证书算法类型:

  • RSA
  • ECC
  • SM2

type

String

证书可见范围:

  • instance:当前实例
  • global:全局

缺省值:global

表21 ApiFunc

参数

参数类型

描述

function_urn

String

函数URN

network_type

String

对接函数的网络架构类型

  • V1:非VPC网络架构
  • V2:VPC网络架构

缺省值:V1

remark

String

描述信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

invocation_type

String

调用类型

  • async: 异步
  • sync:同步

version

String

函数版本

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

最大长度:64

alias_urn

String

函数别名URN

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

authorizer_id

String

后端自定义认证ID

id

String

编号

register_time

String

注册时间

status

Integer

后端状态

  • 1: 有效

update_time

String

修改时间

表22 ApiMock

参数

参数类型

描述

remark

String

描述信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

result_content

String

返回结果

version

String

版本。字符长度不超过64

authorizer_id

String

后端自定义认证ID

status_code

Integer

mock后端自定义状态码: "200": "OK", "201": "Created", "202": "Accepted", "203": "NonAuthoritativeInformation", "204": "NoContent", "205": "ResetContent", "206": "PartialContent", "300": "MultipleChoices", "301": "MovedPermanently", "302": "Found", "303": "SeeOther", "304": "NotModified", "305": "UseProxy", "306": "Unused", "307": "TemporaryRedirect", "400": "BadRequest", "401": "Unauthorized", "402": "PaymentRequired", "403": "Forbidden", "404": "NotFound", "405": "MethodNotAllowed", "406": "NotAcceptable", "407": "ProxyAuthenticationRequired", "408": "RequestTimeout", "409": "Conflict", "410": "Gone", "411": "LengthRequired", "412": "PreconditionFailed", "413": "RequestEntityTooLarge", "414": "RequestURITooLong", "415": "UnsupportedMediaType", "416": "RequestedRangeNotSatisfiable", "417": "ExpectationFailed", "450": "ParameterRequried", "451": "MethodConnectException", "500": "InternalServerError", "501": "NotImplemented", "502": "BadGateway", "503": "ServiceUnavailable", "504": "GatewayTimeout", "505": "HTTPVersionNotSupported",

header

String

mock后端自定义响应头header

格式:[{"key":"","value": "", "remark:""}, {"key2":"","value2": "","remark2:""}]

参数说明:

key:mock后端自定义响应头header key, 支持英文,数字,中划线,且只能以英文字母或数字开头,1 ~ 64字符

value: mock后端自定义响应头header value,中文字符必须为UTF-8或者unicode编码,不能为空,最大长度为10240

remark:mock后端自定义响应头header remark,中文字符必须为UTF-8 或者unicode编码,可以为空,最大长度为2048

id

String

编号

register_time

String

注册时间

status

Integer

后端状态

  • 1: 有效

update_time

String

修改时间

表23 ReqParam

参数

参数类型

描述

name

String

参数名称。 由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。

最小长度:1

最大长度:32

type

String

参数类型

location

String

参数位置

default_value

String

参数默认值

sample_value

String

参数示例值

required

Integer

是否必须

  • 1:是
  • 2:否

location为PATH时,required默认为1,其他场景required默认为2

valid_enable

Integer

是否开启校验

  • 1:开启校验
  • 2:不开启校验

缺省值:2

remark

String

描述信息。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

enumerations

String

参数枚举值

min_num

Integer

参数最小值

参数类型为NUMBER时有效

max_num

Integer

参数最大值

参数类型为NUMBER时有效

min_size

Integer

参数最小长度

参数类型为STRING时有效

max_size

Integer

参数最大长度

参数类型为STRING时有效

regular

String

正则校验规则

暂不支持

json_schema

String

JSON校验规则

暂不支持

pass_through

Integer

是否透传

  • 1:是
  • 2:否

orchestrations

Array of strings

请求参数编排规则列表,该参数暂不支持

请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高 如果编排规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“配额说明”章节

id

String

参数编号

表24 ApiPolicyFunctionResp

参数

参数类型

描述

function_urn

String

函数URN

network_type

String

对接函数的网络架构类型

  • V1:非VPC网络架构
  • V2:VPC网络架构

缺省值:V1

invocation_type

String

调用类型

  • async: 异步
  • sync:同步

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

version

String

函数版本

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

最大长度:64

alias_urn

String

函数别名URN

当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN

id

String

编号

name

String

策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。

最小长度:3

最大长度:64

conditions

Array of ConditionResp objects

策略条件列表

backend_params

Array of BackendParam objects

后端参数列表

effect_mode

String

关联的策略组合模式:

  • ALL:满足全部条件
  • ANY:满足任一条件

authorizer_id

String

后端自定义认证对象的ID

最小长度:1

最大长度:65

表25 ApiPolicyMockResp

参数

参数类型

描述

id

String

编号

name

String

策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。

最小长度:3

最大长度:64

conditions

Array of ConditionResp objects

策略条件列表

backend_params

Array of BackendParam objects

后端参数列表

effect_mode

String

关联的策略组合模式:

  • ALL:满足全部条件
  • ANY:满足任一条件

authorizer_id

String

后端自定义认证对象的ID

最小长度:1

最大长度:65

result_content

String

返回结果

status_code

Integer

mock后端自定义状态码: "200": "OK", "201": "Created", "202": "Accepted", "203": "NonAuthoritativeInformation", "204": "NoContent", "205": "ResetContent", "206": "PartialContent", "300": "MultipleChoices", "301": "MovedPermanently", "302": "Found", "303": "SeeOther", "304": "NotModified", "305": "UseProxy", "306": "Unused", "307": "TemporaryRedirect", "400": "BadRequest", "401": "Unauthorized", "402": "PaymentRequired", "403": "Forbidden", "404": "NotFound", "405": "MethodNotAllowed", "406": "NotAcceptable", "407": "ProxyAuthenticationRequired", "408": "RequestTimeout", "409": "Conflict", "410": "Gone", "411": "LengthRequired", "412": "PreconditionFailed", "413": "RequestEntityTooLarge", "414": "RequestURITooLong", "415": "UnsupportedMediaType", "416": "RequestedRangeNotSatisfiable", "417": "ExpectationFailed", "450": "ParameterRequried", "451": "MethodConnectException", "500": "InternalServerError", "501": "NotImplemented", "502": "BadGateway", "503": "ServiceUnavailable", "504": "GatewayTimeout", "505": "HTTPVersionNotSupported",

header

String

mock后端自定义响应头header

格式:[{"key":"","value": "", "remark:""}, {"key2":"","value2": "","remark2:""}]

参数说明:

key:mock后端自定义响应头header key, 支持英文,数字,中划线,且只能以英文字母或数字开头,1 ~ 64字符

value: mock后端自定义响应头header value,中文字符必须为UTF-8或者unicode编码,不能为空,最大长度为10240

remark:mock后端自定义响应头header remark,中文字符必须为UTF-8 或者unicode编码,可以为空,最大长度为2048

表26 ApiPolicyHttpResp

参数

参数类型

描述

id

String

编号

name

String

策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。

最小长度:3

最大长度:64

conditions

Array of ConditionResp objects

策略条件列表

backend_params

Array of BackendParam objects

后端参数列表

effect_mode

String

关联的策略组合模式:

  • ALL:满足全部条件
  • ANY:满足任一条件

authorizer_id

String

后端自定义认证对象的ID

最小长度:1

最大长度:65

url_domain

String

策略后端的Endpoint。由域名(或IP地址)和端口号组成,总长度不超过255。格式为域名:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443, HTTP默认端口号为80。支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、“_”、“-”组成,且只能以英文开头。

req_protocol

String

请求协议:HTTP、HTTPS

req_method

String

请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY

req_uri

String

请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ .等特殊字符,总长度不超过512,且满足URI规范。

支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。

说明:

需要服从URI规范。

timeout

Integer

服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000

单位:毫秒。

最小值:1

enable_client_ssl

Boolean

是否开启双向认证

retry_count

String

服务集成请求后端服务的重试次数,默认为-1,范围[-1,10]

缺省值:-1

vpc_channel_info

VpcInfo object

VPC通道详情。如果vpc_channel_status = 1,则这个object类型为必填信息

vpc_channel_status

Integer

是否使用VPC通道:

  • 1: 使用VPC通道
  • 2:不使用VPC通道
表27 ConditionResp

参数

参数类型

描述

req_param_name

String

关联的请求参数对象名称。策略类型为param时必选

sys_param_name

String

系统参数名称。策略类型为system时必选。支持以下系统参数

  • req_path:请求路径。如 /a/b
  • req_method:请求方法。如 GET
  • reqPath:请求路径,废弃。如 /a/b
  • reqMethod:请求方法,废弃。如 GET

cookie_param_name

String

COOKIE参数名称。策略类型为cookie时必选

最小长度:0

最大长度:255

frontend_authorizer_param_name

String

系统参数-前端认证参数名称。策略类型为frontend_authorizer时必选,前端认证参数名称以"$context.authorizer.frontend."字符串为前缀。例如,前端认证参数名称为user_name,加上前缀为$context.authorizer.frontend.user_name。

condition_type

String

策略条件

  • exact:绝对匹配
  • enum:枚举
  • pattern:正则

策略类型为param、cookie、frontend_authorizer时必选

condition_origin

String

策略类型

  • param:参数
  • source:源IP
  • system:系统参数-网关内置参数
  • cookie: COOKIE参数
  • frontend_authorizer: 系统参数-前端认证参数
  • orchestration: 参数编排规则

condition_value

String

策略值;策略类型为param、source、cookie、frontend_authorizer时必填

mapped_param_name

String

参数编排规则编排后生成的参数名称,当condition_origin为orchestration的时候必填,并且生成的参数名称必须在API绑定的编排规则中存在

mapped_param_location

String

参数编排规则编排后生成的参数所在的位置,当condition_origin为orchestration的时候必填,并且生成的参数所在的位置必须在API绑定的编排规则中存在

id

String

编号

req_param_id

String

关联的请求参数对象编号

req_param_location

String

关联的请求参数对象位置

表28 BackendParam

参数

参数类型

描述

name

String

参数名称。 字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。

最小长度:1

最大长度:32

location

String

参数位置:PATH、QUERY、HEADER

origin

String

参数类别:REQUEST、CONSTANT、SYSTEM

value

String

参数值。字符长度不超过255 origin类别为REQUEST时,此字段值为req_params中的参数名称;

origin类别为CONSTANT时,此字段值为参数真正的值;

origin类别为SYSTEM时,此字段值为系统参数名称,系统参数分为网关内置参数、前端认证参数和后端认证参数,当API前端安全认证方式为自定义认证时,可以填写前端认证参数,当API开启后端认证时,可以填写后端认证参数。

网关内置参数取值及对应含义:

  • $context.sourceIp:API调用者的源地址
  • $context.stage:API调用的部署环境
  • $context.apiName: API的名称
  • $context.apiId:API的ID
  • $context.appName: API调用者的APP对象名称
  • $context.appId:API调用者的APP对象ID
  • $context.requestId:当次API调用生成跟踪ID
  • $context.serverAddr:网关的服务器地址
  • $context.serverName:网关的服务器名称
  • $context.handleTime:本次API调用的处理时间
  • $context.providerAppId:API拥有者的应用对象ID,暂不支持使用
  • $context.clientCertCN:开启客户端认证时,本次API调用携带的客户端证书CN

前端认证参数取值:以“$context.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa

后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa

最大长度:255

remark

String

描述。

说明:

中文字符必须为UTF-8或者unicode编码。

最大长度:255

id

String

参数编号

req_param_id

String

对应的请求参数编号

表29 VpcInfo

参数

参数类型

描述

ecs_id

String

云服务器ID

ecs_name

String

云服务器名称

cascade_flag

Boolean

是否使用级联方式

暂不支持

vpc_channel_proxy_host

String

代理主机

vpc_channel_id

String

VPC通道编号

最大长度:64

vpc_channel_port

Integer

VPC通道端口

状态码: 400

表30 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表31 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表32 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表33 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表34 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

  • 创建一个API,认证方式为自定义认证,匹配方式为绝对匹配,后端类型为Web后端,并自定义前端请求参数和后端请求参数
    {
      "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
      "match_mode" : "NORMAL",
      "name" : "Api_http",
      "auth_type" : "AUTHORIZER",
      "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c",
      "backend_type" : "HTTP",
      "backend_api" : {
        "url_domain" : "10.10.10.156:12346",
        "req_protocol" : "HTTP",
        "req_method" : "GET",
        "req_uri" : "/test/benchmark",
        "timeout" : 5000
      },
      "req_protocol" : "HTTPS",
      "req_uri" : "/test/http",
      "remark" : "Web backend API",
      "type" : 1,
      "req_method" : "GET",
      "result_normal_sample" : "Normal response example",
      "result_failure_sample" : "Failure response example",
      "tags" : [ "webApi" ],
      "req_params" : [ {
        "name" : "query_demo",
        "location" : "QUERY",
        "type" : "STRING",
        "required" : 1
      }, {
        "name" : "header-demo",
        "location" : "HEADER",
        "type" : "STRING",
        "required" : 2
      } ],
      "backend_params" : [ {
        "name" : "backHeader",
        "value" : "header-demo",
        "location" : "HEADER",
        "origin" : "REQUEST"
      }, {
        "name" : "backQuery",
        "value" : "query_demo",
        "location" : "QUERY",
        "origin" : "REQUEST"
      }, {
        "name" : "X-CONSTANT-HEADER",
        "value" : "demo",
        "location" : "HEADER",
        "origin" : "CONSTANT",
        "remark" : "constant_demo"
      }, {
        "name" : "app-id",
        "value" : "$context.appId",
        "location" : "HEADER",
        "origin" : "SYSTEM",
        "remark" : "Application ID of the invoker."
      } ]
    }
  • 创建一个API,认证方式为APP认证,匹配方式为绝对匹配,后端类型为函数工作流
    {
      "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
      "match_mode" : "NORMAL",
      "name" : "Api_function",
      "auth_type" : "APP",
      "backend_type" : "FUNCTION",
      "func_info" : {
        "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9",
        "function_urn" : "'urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'",
        "network_type" : "V1",
        "invocation_type" : "sync",
        "timeout" : 5000,
        "version" : "latest",
        "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1"
      },
      "req_protocol" : "HTTPS",
      "req_uri" : "/test/function",
      "remark" : "FunctionGraph backend API",
      "type" : 1,
      "req_method" : "GET",
      "result_normal_sample" : "Normal response example",
      "result_failure_sample" : "Failure response example",
      "tags" : [ "functionApi" ]
    }
  • 创建一个API,认证方式为APP认证,匹配方式为前缀匹配,后端类型为MOCK后端
    {
      "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
      "match_mode" : "SWA",
      "name" : "Api_mock",
      "auth_type" : "APP",
      "backend_type" : "MOCK",
      "mock_info" : {
        "result_content" : "mock success"
      },
      "req_protocol" : "HTTPS",
      "req_uri" : "/test/mock",
      "remark" : "Mock backend API",
      "type" : 1,
      "req_method" : "GET",
      "result_normal_sample" : "Normal response example",
      "result_failure_sample" : "Failure response example",
      "tags" : [ "mockApi" ]
    }

响应示例

状态码: 201

Created

  • 示例 1
    {
      "name" : "Api_http",
      "type" : 1,
      "version" : "V2",
      "req_protocol" : "HTTP",
      "req_method" : "GET",
      "req_uri" : "/test/http",
      "auth_type" : "APP",
      "auth_opt" : {
        "app_code_auth_type" : "DISABLE"
      },
      "cors" : false,
      "match_mode" : "NORMAL",
      "backend_type" : "HTTP",
      "remark" : "Web backend API",
      "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
      "body_remark" : "",
      "result_normal_sample" : "Normal response example",
      "result_failure_sample" : "Failure response example",
      "authorizer_id" : "",
      "tags" : [ "webApi" ],
      "roma_app_id" : "957dcd1e-d8f4-432e-8e71-df55cf772aba",
      "domain_name" : "",
      "tag" : "",
      "id" : "5f918d104dc84480a75166ba99efff21",
      "status" : 1,
      "arrange_necessary" : 2,
      "register_time" : "2022-02-09T02:46:36.913996908Z",
      "update_time" : "2022-02-09T02:46:36.913997175Z",
      "group_name" : "api_group_001",
      "group_version" : "V2",
      "run_env_name" : "",
      "run_env_id" : "",
      "publish_id" : "",
      "roma_app_name" : "app-htyr",
      "ld_api_id" : "",
      "backend_api" : {
        "authorizer_id" : "",
        "url_domain" : "10.10.10.156:12346",
        "req_protocol" : "HTTP",
        "remark" : "",
        "req_method" : "GET",
        "version" : "",
        "req_uri" : "/test/bechmark",
        "timeout" : 5000,
        "enable_client_ssl" : false,
        "retry_count" : "-1",
        "id" : "86686e62cabe44b392ad4a0856165e92",
        "status" : 1,
        "register_time" : "2022-02-09T02:46:36.914978278Z",
        "update_time" : "2022-02-09T02:46:36.914978525Z",
        "vpc_channel_info" : {
          "cascade_flag" : false,
          "vpc_channel_id" : "",
          "vpc_channel_port" : 0
        },
        "vpc_channel_status" : 2
      },
      "api_group_info" : {
        "id" : "02b157a33b394babb0b08c010bc3d76b",
        "name" : "api_group",
        "status" : 1,
        "sl_domain" : "02b157a33b394babb0b08c010bc3d76b.apic.****.com",
        "register_time" : "2022-02-09T02:46:31Z",
        "update_time" : "2022-02-09T02:46:31Z",
        "on_sell_status" : 2,
        "url_domains" : [ {
          "id" : "e91b83b07744e8eb1872d695ed4743b",
          "domain" : "domain.com",
          "cname_status" : 3,
          "ssl_id" : "ddsa83b07744e8eb1872d695ed4743b",
          "ssl_name" : "certificate",
          "min_ssl_version" : "TLSv1.1"
        } ]
      },
      "func_info" : null,
      "mock_info" : null,
      "req_params" : [ {
        "name" : "query_demo",
        "location" : "QUERY",
        "type" : "STRING",
        "valid_enable" : 2,
        "required" : 1,
        "id" : "57c8bf3c97ef40ee94eace95dff30014",
        "pass_through" : 1
      }, {
        "name" : "header-demo",
        "location" : "HEADER",
        "type" : "STRING",
        "valid_enable" : 2,
        "required" : 2,
        "id" : "8d993be96980415faa6b1fb2ebd647e0",
        "pass_through" : 1
      } ],
      "backend_params" : [ {
        "name" : "backHeader",
        "value" : "header-demo",
        "location" : "HEADER",
        "origin" : "REQUEST",
        "id" : "709f0ea376b44aaf907aaaa37d8cce92",
        "req_param_id" : "8d993be96980415faa6b1fb2ebd647e0"
      }, {
        "name" : "backQuery",
        "value" : "query_demo",
        "location" : "QUERY",
        "origin" : "REQUEST",
        "id" : "2f152d0fb54445039158d29c2a4f69ee",
        "req_param_id" : "57c8bf3c97ef40ee94eace95dff30014"
      }, {
        "name" : "X-CONSTANT-HEADER",
        "value" : "demo",
        "location" : "HEADER",
        "origin" : "CONSTANT",
        "remark" : "constant_demo",
        "id" : "20142102c6aa4f3c97d5fd6ef4010ac2"
      }, {
        "name" : "app-id",
        "value" : "$context.appId",
        "location" : "HEADER",
        "origin" : "SYSTEM",
        "remark" : "Application ID of the invoker.",
        "id" : "a1349c61016e4d999ca783a50bfeee2b"
      } ],
      "policy_functions" : null,
      "policy_mocks" : null,
      "policy_https" : [ ]
    }
  • 示例 2
    {
      "name" : "Api_function",
      "type" : 1,
      "version" : "V0.0.1",
      "req_protocol" : "HTTPS",
      "req_method" : "GET",
      "req_uri" : "/test/function",
      "auth_type" : "APP",
      "auth_opt" : {
        "auth_code_auth_type" : "DISABLE"
      },
      "cors" : false,
      "match_mode" : "NORMAL",
      "backend_type" : "FUNCTION",
      "remark" : "FunctionGraph backend API",
      "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
      "body_remark" : "",
      "result_normal_sample" : "Normal response example",
      "result_failure_sample" : "Failure response example",
      "authorizer_id" : "",
      "tags" : [ "functionApi" ],
      "tag" : "",
      "roma_app_id" : "f77f5e81d9cb4424bf704ef2b0ac7690",
      "domain_name" : "www.sss.com",
      "id" : "abd9c4b2ff974888b0ba79be7e6b2763",
      "status" : 1,
      "arrange_necessary" : 2,
      "register_time" : "2020-08-02T15:56:52.286099413Z",
      "update_time" : "2020-08-02T15:56:52.286099715Z",
      "group_name" : "api_group_001",
      "group_version" : "V1",
      "run_env_name" : "",
      "run_env_id" : "",
      "publish_id" : "",
      "publish_time" : "",
      "roma_app_name" : "app-dfge",
      "ld_api_id" : "",
      "backend_api" : null,
      "api_group_info" : {
        "id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
        "name" : "api_group",
        "status" : 1,
        "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com",
        "register_time" : "2020-08-02T15:56:52Z",
        "update_time" : "2020-08-02T15:56:52Z",
        "on_sell_status" : 2,
        "url_domains" : [ {
          "id" : "e91b83b07744e8eb1872d695ed4743b",
          "domain" : "domain.com",
          "cname_status" : 3,
          "ssl_id" : "ddsa83b07744e8eb1872d695ed4743b",
          "ssl_name" : "certificate",
          "min_ssl_version" : "TLSv1.1"
        } ]
      },
      "mock_info" : null,
      "func_info" : {
        "id" : "c0740524cd4c40e3801a7afe5375f8b0",
        "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9",
        "function_urn" : "'urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'",
        "network_type" : "V1",
        "remark" : "",
        "invocation_type" : "sync",
        "timeout" : 5000,
        "version" : "latest",
        "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1",
        "register_time" : "2020-08-02T15:36:19.897262803Z",
        "update_time" : "2020-08-02T15:36:19.897262993Z",
        "status" : 1
      },
      "req_params" : [ ],
      "backend_params" : [ ],
      "policy_functions" : null,
      "policy_mocks" : [ ],
      "policy_https" : null
    }
  • 示例 3
    {
      "name" : "Api_mock",
      "type" : 1,
      "version" : "V0.0.1",
      "req_protocol" : "HTTPS",
      "req_method" : "GET",
      "req_uri" : "/test/mock",
      "auth_type" : "APP",
      "auth_opt" : {
        "auth_code_auth_type" : "DISABLE"
      },
      "cors" : false,
      "match_mode" : "SWA",
      "backend_type" : "MOCK",
      "remark" : "Mock backend API",
      "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
      "body_remark" : "",
      "result_normal_sample" : "Normal response example",
      "result_failure_sample" : "Failure response example",
      "authorizer_id" : "",
      "tags" : [ "mockApi" ],
      "tag" : "",
      "roma_app_id" : "f77f5e81d9cb4424bf704ef2b0ac7690",
      "domain_name" : "www.sss.com",
      "id" : "3a955b791bd24b1c9cd94c745f8d1aad",
      "status" : 1,
      "arrange_necessary" : 2,
      "register_time" : "2020-08-02T15:56:52.286099413Z",
      "update_time" : "2020-08-02T15:56:52.286099715Z",
      "group_name" : "api_group_001",
      "group_version" : "V1",
      "run_env_name" : "",
      "run_env_id" : "",
      "publish_id" : "",
      "publish_time" : "",
      "roma_app_name" : "app-dfge",
      "ld_api_id" : "",
      "backend_api" : null,
      "api_group_info" : {
        "id" : "c77f5e81d9cb4424bf704ef2b0ac7600",
        "name" : "api_group",
        "status" : 1,
        "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com",
        "register_time" : "2020-08-02T15:56:52Z",
        "update_time" : "2020-08-02T15:56:52Z",
        "on_sell_status" : 2,
        "url_domains" : [ {
          "id" : "e91b83b07744e8eb1872d695ed4743b",
          "domain" : "domain.com",
          "cname_status" : 3,
          "ssl_id" : "ddsa83b07744e8eb1872d695ed4743b",
          "ssl_name" : "certificate",
          "min_ssl_version" : "TLSv1.1"
        } ]
      },
      "mock_info" : {
        "remark" : "",
        "result_content" : "mock success",
        "version" : "m1",
        "authorizer_id" : "",
        "status_code" : 200,
        "header" : [ ],
        "id" : "e74bbc75825c4c38ae84ccab6bdc6175",
        "register_time" : "2020-08-02T15:56:52.301790367Z",
        "status" : 1,
        "update_time" : "2020-08-02T15:56:52.301790686Z"
      },
      "func_info" : null,
      "req_params" : [ ],
      "backend_params" : [ ],
      "policy_functions" : null,
      "policy_mocks" : [ ],
      "policy_https" : null
    }

状态码: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

状态码: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

状态码: 404

Not Found

{
  "error_code" : "APIG.3019",
  "error_msg" : "The function URN does not exist"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码

提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容