创建API
功能介绍
添加一个API,API即一个服务接口,具体的服务能力。API分为两部分,第一部分为面向API使用者的API接口,定义了使用者如何调用这个API。第二部分面向API提供者,由API提供者定义这个API的真实的后端情况,定义了ROMA Connect如何去访问真实的后端服务。API的真实后端服务目前支持三种类型:传统的HTTP/HTTPS形式的web后端、函数工作流、MOCK。
URI
POST /v1/{project_id}/apic/instances/{instance_id}/apis
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
instance_id | 是 | String | 实例ID |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头。 说明: 中文字符必须为UTF-8或者unicode编码。 |
type | 是 | Integer | API类型 |
version | 否 | String | API的版本 |
req_protocol | 是 | String | API的请求协议 |
req_method | 是 | String | API的请求方式 |
req_uri | 是 | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 说明: 需要服从URI规范。 |
auth_type | 是 | String | API的认证方式 |
auth_opt | 否 | AuthOpt object | 认证方式参数 |
cors | 否 | Boolean | 是否支持跨域 |
match_mode | 否 | String | API的匹配方式 |
backend_type | 是 | String | 后端类型 |
remark | 否 | String | API描述。 不允许带有<、>字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
group_id | 是 | String | API所属的分组编号 |
body_remark | 否 | String | API请求体描述,可以是请求体示例、媒体类型、参数等信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
result_normal_sample | 否 | String | 正常响应示例,描述API的正常返回信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
result_failure_sample | 否 | String | 失败返回示例,描述API的异常返回信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
authorizer_id | 否 | String | 前端自定义认证对象的ID |
tags | 否 | Array of strings | 标签。 支持英文,数字,下划线,且只能以英文开头。支持输入多个标签,不同标签以英文逗号分割。 |
response_id | 否 | String | 分组自定义响应ID 暂不支持 |
roma_app_id | 否 | String | API归属的集成应用编号 API分组为全局分组时或API绑定自定义域名时必填。 |
domain_name | 否 | String | API绑定的自定义域名,使用自定义域名时roma_app_id字段必填。 |
tag | 否 | String | 标签 待废弃,优先使用tags字段 |
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 | 否 | BackendApiCreateV1 object | web后端详情 |
policy_https | 否 | Array of ApiPolicyHttpCreateV1 objects | web策略后端列表 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
remark | 否 | String | 描述信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
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": "ParameterRequired", "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 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
function_urn | 是 | String | 函数URN |
network_type | 否 | String | 对接函数的网络架构类型 |
remark | 否 | String | 描述信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
invocation_type | 是 | String | 调用类型 |
version | 否 | String | 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
alias_urn | 否 | String | 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
timeout | 是 | Integer | 服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
authorizer_id | 否 | String | 后端自定义认证ID |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数名称。 由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 |
type | 是 | String | 参数类型 |
location | 是 | String | 参数位置 |
default_value | 否 | String | 参数默认值 |
sample_value | 否 | String | 参数示例值 |
required | 否 | Integer | 是否必须 location为PATH时,required默认为1,其他场景required默认为2 |
valid_enable | 否 | Integer | 是否开启校验 |
remark | 否 | String | 描述信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
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 | 是否透传 |
orchestrations | 否 | Array of strings | 请求参数编排规则列表。 请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高; 如果编配规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 当编排规则为预处理策略时,该规则不能作为除default以外的最后一个编排规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“配额说明”章节。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
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": "ParameterRequired", "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 | 关联的策略组合模式: |
name | 是 | String | 策略后端名称。字符串由中文、英文字母、数字、中划线、下划线组成,且只能以中文或英文开头。 |
backend_params | 否 | Array of BackendParamBase objects | 后端参数列表,后端类型为GRPC时不支持配置。 |
conditions | 是 | Array of ApiConditionCreate objects | 策略条件列表 |
authorizer_id | 否 | String | 后端自定义认证对象的ID |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
function_urn | 是 | String | 函数URN |
network_type | 否 | String | 对接函数的网络架构类型 |
invocation_type | 是 | String | 调用类型 |
timeout | 是 | Integer | 服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
version | 否 | String | 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
alias_urn | 否 | String | 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
effect_mode | 是 | String | 关联的策略组合模式: |
name | 是 | String | 策略后端名称。字符串由中文、英文字母、数字、中划线、下划线组成,且只能以中文或英文开头。 |
backend_params | 否 | Array of BackendParamBase objects | 后端参数列表,后端类型为GRPC时不支持配置。 |
conditions | 是 | Array of ApiConditionCreate objects | 策略条件列表 |
authorizer_id | 否 | String | 后端自定义认证对象的ID |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数名称。 字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 |
location | 是 | String | 参数位置:PATH、QUERY、HEADER |
origin | 是 | String | 参数类别:REQUEST、CONSTANT、SYSTEM |
value | 是 | String | 参数值。字符长度不超过255 origin类别为REQUEST时,此字段值为req_params中的参数名称; origin类别为CONSTANT时,此字段值为参数真正的值; origin类别为SYSTEM时,此字段值为系统参数名称,系统参数分为网关内置参数、前端认证参数和后端认证参数,当api前端安全认证方式为自定义认证时,可以填写前端认证参数,当api开启后端认证时,可以填写后端认证参数。 网关内置参数取值及对应含义: 前端认证参数取值:以“$context.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa 后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa |
remark | 否 | String | 描述。 说明: 中文字符必须为UTF-8或者unicode编码。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
req_param_name | 否 | String | 关联的请求参数对象名称。策略类型为param时必选 |
sys_param_name | 否 | String | 系统参数名称。策略类型为system时必选。支持以下系统参数 |
cookie_param_name | 否 | String | COOKIE参数名称。策略类型为cookie时必选 |
frontend_authorizer_param_name | 否 | String | 系统参数-前端认证参数名称。策略类型为frontend_authorizer时必选,前端认证参数名称以"$context.authorizer.frontend."字符串为前缀。例如,前端认证参数名称为user_name,加上前缀为$context.authorizer.frontend.user_name。 |
condition_type | 否 | String | 策略条件 策略类型为param、cookie、frontend_authorizer时必选 |
condition_origin | 是 | String | 策略类型 |
condition_value | 是 | String | 策略值;策略类型为param,source,cookie,frontend_authorizer时必填 |
mapped_param_name | 否 | String | 参数编排规则编排后生成的参数名称,当condition_origin为orchestration的时候必填,并且生成的参数名称必须在api绑定的编排规则中存在 |
mapped_param_location | 否 | String | 参数编排规则编排后生成的参数所在的位置,当condition_origin为orchestration的时候必填,并且生成的参数所在的位置必须在api绑定的编排规则中存在 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
authorizer_id | 否 | String | 后端自定义认证对象的ID |
url_domain | 否 | String | 后端服务的地址。 由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头 |
req_protocol | 是 | String | 请求协议 |
remark | 否 | String | 描述。 说明: 中文字符必须为UTF-8或者unicode编码。 |
req_method | 是 | String | 请求方式 |
version | 否 | String | web后端版本,字符长度不超过16 |
req_uri | 是 | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 |
timeout | 是 | Integer | ROMA Connect APIC请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
enable_client_ssl | 否 | Boolean | 是否开启双向认证 |
vpc_info | 否 | VpcInfoV1 object | VPC通道信息 |
vpc_status | 否 | Integer | 是否使用VPC通道 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
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 | ROMA Connect APIC请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
enable_client_ssl | 否 | Boolean | 是否开启双向认证 |
effect_mode | 是 | String | 关联的策略组合模式: |
name | 是 | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 |
backend_params | 否 | Array of BackendParamBase objects | 后端参数列表 |
conditions | 是 | Array of ApiConditionCreate objects | 策略条件列表 |
authorizer_id | 否 | String | 后端自定义认证对象的ID |
vpc_info | 否 | VpcInfoV1 object | VPC通道信息 |
vpc_status | 否 | Integer | 是否使用VPC通道 |
响应参数
状态码: 201
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头。 说明: 中文字符必须为UTF-8或者unicode编码。 |
type | Integer | API类型 |
version | String | API的版本 |
req_protocol | String | API的请求协议 |
req_method | String | API的请求方式 |
req_uri | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 说明: 需要服从URI规范。 |
auth_type | String | API的认证方式 |
auth_opt | AuthOpt object | 认证方式参数 |
cors | Boolean | 是否支持跨域 |
match_mode | String | API的匹配方式 |
backend_type | String | 后端类型 |
remark | String | API描述。 不允许带有<、>字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
group_id | String | API所属的分组编号 |
body_remark | String | API请求体描述,可以是请求体示例、媒体类型、参数等信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
result_normal_sample | String | 正常响应示例,描述API的正常返回信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
result_failure_sample | String | 失败返回示例,描述API的异常返回信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
authorizer_id | String | 前端自定义认证对象的ID |
tags | Array of strings | 标签。 支持英文,数字,下划线,且只能以英文开头。支持输入多个标签,不同标签以英文逗号分割。 |
response_id | String | 分组自定义响应ID 暂不支持 |
roma_app_id | String | API归属的集成应用编号 API分组为全局分组时或API绑定自定义域名时必填。 |
domain_name | String | API绑定的自定义域名,使用自定义域名时roma_app_id字段必填。 |
tag | String | 标签 待废弃,优先使用tags字段 |
id | String | API编号 |
status | Integer | API状态 |
arrange_necessary | Integer | 是否需要编排 |
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 | 发布记录编号 存在多个发布记录时,发布记录编号之间用|隔开 |
roma_app_name | String | API归属的集成应用名称 |
ld_api_id | String | 当API的后端为自定义后端时,对应的自定义后端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策略后端列表 |
backend_api | BackendApiV1 object | web后端详情 |
policy_https | Array of ApiPolicyHttpRespV1 objects | web策略后端列表 |
参数 | 参数类型 | 描述 |
|---|---|---|
function_urn | String | 函数URN |
network_type | String | 对接函数的网络架构类型 |
remark | String | 描述信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
invocation_type | String | 调用类型 |
version | String | 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
alias_urn | String | 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
timeout | Integer | 服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
authorizer_id | String | 后端自定义认证ID |
id | String | 编号 |
register_time | String | 注册时间 |
status | Integer | 后端状态 |
update_time | String | 修改时间 |
参数 | 参数类型 | 描述 |
|---|---|---|
remark | String | 描述信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
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": "ParameterRequired", "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 | 后端状态 |
update_time | String | 修改时间 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数名称。 由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 |
type | String | 参数类型 |
location | String | 参数位置 |
default_value | String | 参数默认值 |
sample_value | String | 参数示例值 |
required | Integer | 是否必须 location为PATH时,required默认为1,其他场景required默认为2 |
valid_enable | Integer | 是否开启校验 |
remark | String | 描述信息。 说明: 中文字符必须为UTF-8或者unicode编码。 |
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 | 是否透传 |
orchestrations | Array of strings | 请求参数编排规则列表。 请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高; 如果编配规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 当编排规则为预处理策略时,该规则不能作为除default以外的最后一个编排规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“配额说明”章节。 |
id | String | 参数编号 |
参数 | 参数类型 | 描述 |
|---|---|---|
function_urn | String | 函数URN |
network_type | String | 对接函数的网络架构类型 |
invocation_type | String | 调用类型 |
timeout | Integer | 服务集成请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
version | String | 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
alias_urn | String | 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
id | String | 编号 |
name | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 |
conditions | Array of ConditionResp objects | 策略条件列表 |
backend_params | Array of BackendParam objects | 后端参数列表 |
effect_mode | String | 关联的策略组合模式: |
authorizer_id | String | 后端自定义认证对象的ID |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 编号 |
name | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 |
conditions | Array of ConditionResp objects | 策略条件列表 |
backend_params | Array of BackendParam objects | 后端参数列表 |
effect_mode | String | 关联的策略组合模式: |
authorizer_id | String | 后端自定义认证对象的ID |
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": "ParameterRequired", "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 |
参数 | 参数类型 | 描述 |
|---|---|---|
req_param_name | String | 关联的请求参数对象名称。策略类型为param时必选 |
sys_param_name | String | 系统参数名称。策略类型为system时必选。支持以下系统参数 |
cookie_param_name | String | COOKIE参数名称。策略类型为cookie时必选 |
frontend_authorizer_param_name | String | 系统参数-前端认证参数名称。策略类型为frontend_authorizer时必选,前端认证参数名称以"$context.authorizer.frontend."字符串为前缀。例如,前端认证参数名称为user_name,加上前缀为$context.authorizer.frontend.user_name。 |
condition_type | String | 策略条件 策略类型为param、cookie、frontend_authorizer时必选 |
condition_origin | String | 策略类型 |
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 | 关联的请求参数对象位置 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数名称。 字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 |
location | String | 参数位置:PATH、QUERY、HEADER |
origin | String | 参数类别:REQUEST、CONSTANT、SYSTEM |
value | String | 参数值。字符长度不超过255 origin类别为REQUEST时,此字段值为req_params中的参数名称; origin类别为CONSTANT时,此字段值为参数真正的值; origin类别为SYSTEM时,此字段值为系统参数名称,系统参数分为网关内置参数、前端认证参数和后端认证参数,当api前端安全认证方式为自定义认证时,可以填写前端认证参数,当api开启后端认证时,可以填写后端认证参数。 网关内置参数取值及对应含义: 前端认证参数取值:以“$context.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa 后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa |
remark | String | 描述。 说明: 中文字符必须为UTF-8或者unicode编码。 |
id | String | 参数编号 |
req_param_id | String | 对应的请求参数编号 |
参数 | 参数类型 | 描述 |
|---|---|---|
authorizer_id | String | 后端自定义认证对象的ID |
url_domain | String | 后端服务的地址。 由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头 |
req_protocol | String | 请求协议 |
remark | String | 描述。 说明: 中文字符必须为UTF-8或者unicode编码。 |
req_method | String | 请求方式 |
version | String | web后端版本,字符长度不超过16 |
req_uri | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 |
timeout | Integer | ROMA Connect APIC请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
enable_client_ssl | Boolean | 是否开启双向认证 |
id | String | 编号 |
status | Integer | 后端状态 |
register_time | String | 注册时间 |
update_time | String | 修改时间 |
vpc_info | String | VPC通道信息 |
vpc_status | Integer | 是否使用VPC通道 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 编号 |
name | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 |
conditions | Array of ConditionResp objects | 策略条件列表 |
backend_params | Array of BackendParam objects | 后端参数列表 |
effect_mode | String | 关联的策略组合模式: |
authorizer_id | String | 后端自定义认证对象的ID |
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 | ROMA Connect APIC请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000 单位:毫秒。 |
enable_client_ssl | Boolean | 是否开启双向认证 |
vpc_info | String | VPC通道信息 |
vpc_status | Integer | 是否使用VPC通道: |
状态码: 400
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码: 401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码: 403
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码: 404
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码: 500
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
请求示例
-
{ "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 result", "result_failure_sample" : "failure result", "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" : "consumer app id" } ] } -
{ "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'", "invocation_type" : "sync", "timeout" : 5000, "version" : "latest" }, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "function API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "normal result", "result_failure_sample" : "failure result", "tags" : [ "functionApi" ] } -
{ "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "backend_type" : "MOCK", "mock_info" : { "result_content" : "mock success" }, "policy_mocks" : [ { "name" : "mock_policy_backend", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0" } ] } ], "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "mock api", "type" : 1, "req_method" : "GET", "result_normal_sample" : "normal result", "result_failure_sample" : "failure result", "tags" : [ "mockApi" ] }
响应示例
状态码: 201
Created
-
{ "id" : "5f918d104dc84480a75166ba99efff21", "tags" : [ "webApi" ], "arrange_necessary" : 2, "backend_type" : "HTTP", "auth_type" : "AUTHORIZER", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_api" : { "update_time" : "2020-07-31T12:42:51.325312994Z", "vpc_status" : 2, "url_domain" : "10.10.10.156:12346", "req_protocol" : "HTTP", "id" : "1ce8fda3586d4371bd83c955df37e102", "req_method" : "GET", "register_time" : "2020-07-31T12:42:51.325312721Z", "req_uri" : "/benchmark", "timeout" : 5000, "status" : 1 }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_version" : "V1", "response_id" : "981e6c8f847f47199a9faf4409b751a5", "match_mode" : "NORMAL", "name" : "Api_http", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "type" : 1, "result_normal_sample" : "normal result", "result_failure_sample" : "failure result", "version" : "V0.0.1", "register_time" : "2020-07-31T12:42:51.314357035Z", "update_time" : "2020-07-31T12:42:51.314357324Z", "remark" : "Web backend API", "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" : "consumer app id", "id" : "a1349c61016e4d999ca783a50bfeee2b" } ] } -
{ "id" : "abd9c4b2ff974888b0ba79be7e6b2763", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "FUNCTION", "func_info" : { "id" : "c0740524cd4c40e3801a7afe5375f8b0", "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "timeout" : 5000, "version" : "latest", "register_time" : "2020-08-02T15:36:19.897262803Z", "update_time" : "2020-08-02T15:36:19.897262993Z", "status" : 1 }, "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "function api", "type" : 1, "version" : "V0.0.1", "status" : 1, "req_method" : "GET", "result_normal_sample" : "normal result", "result_failure_sample" : "failure result", "tags" : [ "functionApi" ], "register_time" : "2020-08-02T15:36:19.892012381Z", "update_time" : "2020-08-02T15:36:19.892012627Z" } -
{ "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "MOCK", "mock_info" : { "id" : "e74bbc75825c4c38ae84ccab6bdc6175", "result_content" : "mock success", "update_time" : "2020-08-02T15:56:52.301790686Z", "register_time" : "2020-08-02T15:56:52.301790367Z" }, "policy_mocks" : [ { "name" : "mock api", "id" : "1cb05173a4c84b7d996e30145cce3c7d", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0", "id" : "8650b3a94e7344df8251658d8aee1f6d" } ] } ], "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "mock api", "type" : 1, "version" : "V0.0.1", "req_method" : "GET", "result_normal_sample" : "normal result", "result_failure_sample" : "failure result", "tags" : [ "mockApi" ], "register_time" : "2020-08-02T15:56:52.286099413Z", "update_time" : "2020-08-02T15:56:52.286099715Z", "status" : 1 }
状态码: 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 |
错误码
请参见错误码。

