更新时间:2024-10-28 GMT+08:00

创建API

功能介绍

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

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

错误码

请参见错误码