文档

CreateApi - 创建 API

更新时间:

新建一个 API。

接口说明

  • 此接口面向开放 API 的用户。
  • 同一个分组内 API 不允许重名。
  • 同一个分组内 Path 不允许重复。
  • 该接口调用的 QPS 限制为:单用户 QPS 不超过 50。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
apigateway:CreateApiWrite
  • 全部资源
    *

请求参数

名称类型必填描述示例值
GroupIdstring

指定的分组编号

08ae4aa0f95e4321849ee57f4e0b3077
ApiNamestring

设置 API 的名称,组内不允许重复。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,4~50 个字符

ApiName
Visibilitystring

API 是否公开,可以取值:

  • PUBLIC:公开,如选择此类型,该 API 的线上环境定义,会在所有用户的控制台“发现 API”页面可见。
  • PRIVATE:不公开,如选择此类型,当该组 API 在云市场上架时,私有类型的 API 不会上架。
PUBLIC
Descriptionstring

API 描述信息,最多 180 个字符

Api description
AuthTypestring

API 安全认证类型,目前可以取值:

  • APP:只允许已授权的 APP 调用
  • ANONYMOUS:允许匿名调用,设置为允许匿名调用需要注意: 任何能够获取该 API 服务信息的人,都将能够调用该 API。网关不会对调用者做身份认证,也无法设置按用户的流量控制,若开放该 API 请设置好按 API 的流量控制。
APP
RequestConfigstring

Consumer 向网关发送 API 请求的相关配置项。

更多信息,请参见 RequestConfig

{"RequestProtocol":"HTTP","RequestHttpMethod":"GET","RequestPath":"/v3/getUserTest/[userId]","BodyFormat":"FORM","PostBodyDescription":""}
ServiceConfigstring

网关向后端服务发送 API 请求的相关配置项。

更多信息,请参见 ServiceConfig

{"ServiceProtocol":"HTTP","ServiceHttpMethod":"GET","ServiceAddress":"http://www.customerdomain.com","ServiceTimeout":"1000","ServicePath":"/v3/getUserTest/[userId]"}
RequestParametersstring

Consumer 向网关发送 API 请求的参数描述。

更多信息,请参见 RequestParameter

[ { "ParameterLocation": { "name": "Head", "orderNumber": 2 }, "ParameterType": "String", "Required": "OPTIONAL", "isHide": false, "ApiParameterName": "header1", "DefaultValue": "123124", "Location": "Head" }, { "ParameterLocation": { "name": "Head", "orderNumber": 2 }, "ParameterType": "String", "Required": "REQUIRED", "isHide": false, "ApiParameterName": "header2", "DefaultValue": "", "Location": "Head" }, { "ParameterLocation": { "name": "Query", "orderNumber": 3 }, "ParameterType": "String", "Required": "OPTIONAL", "isHide": false, "ApiParameterName": "query1", "DefaultValue": "1245", "Location": "Query" }, { "ApiParameterName": "CaClientIp", "ParameterLocation": { "name": "Query", "orderNumber": 0 }, "Location": "Query", "ParameterType": "String", "Required": "REQUIRED", "Description": "ClientIP" }, { "ApiParameterName": "testConstant", "ParameterLocation": { "name": "Head", "orderNumber": 0 }, "Location": "Head", "ParameterType": "String", "Required": "REQUIRED", "DefaultValue": "111" } ]
SystemParametersstring

网关发送给后端服务的系统参数

[{\"location\":\"HEAD\",\"parameterName\":\"CaDomain\",\"serviceParameterName\":\"host\"}]
ConstantParametersstring

网关发送给后端服务的常量参数

[{\"ConstantValue\":\"123\",\"Description\":\"常量参数\",\"Location\":\"HEAD\",\"ServiceParameterName\":\"test\"}]
ServiceParametersstring

网关向后端服务发送 API 请求的参数描述。

更多信息,请参见 ServiceParameter

[ { "ServiceParameterName": "header1", "Location": "Head", "Type": "String", "ParameterCatalog": "REQUEST" }, { "ServiceParameterName": "header2", "Location": "Query", "Type": "String", "ParameterCatalog": "REQUEST" }, { "ServiceParameterName": "query1", "Location": "Head", "Type": "String", "ParameterCatalog": "REQUEST" }, { "ServiceParameterName": "ipp", "Location": "Query", "Type": "String", "ParameterCatalog": "SYSTEM" }, { "ServiceParameterName": "testConstant", "Location": "Head", "Type": "String", "ParameterCatalog": "CONSTANT" } ]
ServiceParametersMapstring

Consumer 向网关发送请求的参数和网关向后端服务发送的请求的参数的映射关系。

更多信息,请参见 ServiceParameterMap

[ { "ServiceParameterName": "header1", "RequestParameterName": "header1" }, { "ServiceParameterName": "header2", "RequestParameterName": "header2" }, { "ServiceParameterName": "query1", "RequestParameterName": "query1" }, { "ServiceParameterName": "ipp", "RequestParameterName": "CaClientIp" }, { "ServiceParameterName": "testConstant", "RequestParameterName": "testConstant" } ]
ResultTypestring

后端服务返回应答的格式,目前可以设置为:JSON、TEXT、BINARY、XML、HTML。默认为 JSON。

HTML
ResultSamplestring

后端服务返回应答的示例,该值仅用于生成文档使用。不对返回结果产生影响。

{}
FailResultSamplestring

后端服务失败返回应答的示例 该值仅用于生成文档使用。不对返回结果产生影响。

{\"requestId\":\"3b9b8b31-93c3-489e-8ebb-cab35a1aee51\",\"errCode\":500,\"errMsg\":\"connection refused\"}
ErrorCodeSamplesstring

后端服务返回的错误码示例。

更多信息,请参见 ErrorCodeSample

[{\"Code\":\"400\",\"Message\":\"Login failed\",\"Description\":\"Invalid user name or password\"}]
ResultDescriptionsstring

api 的返回说明

{}
OpenIdConnectConfigstring

ip 访问控制的开关状态,取值:-on:打开-off:关闭

{\"openIdApiType\":null,\"idTokenParamName\":null,\"publicKeyId\":null,\"publicKey\":null}
AllowSignatureMethodstring

AuthTypeAPP 认证时,需要传该值明确签名算法。可选值如下,不传默认是 HmacSHA256:

  • HmacSHA256
  • HmacSHA1,HmacSHA256
HmacSHA256
WebSocketApiTypestring

双向通信 API 类型:

  • COMMON:普通 API
  • REGISTER:注册 API
  • UNREGISTER:注销 API
  • NOTIFY:下行通知
COMMON
ResultBodyModelstring

api 的返回结果

{}
ForceNonceCheckboolean
  • 设置 ForceNonceChecktrue, 请求时强制检查 X-Ca-Nonce,这个是请求的唯一标识,一般使用 UUID 来标识。API 网关收到这个参数后会校验这个参数的有效性,同样的值,15 分内只能被使用一次。可以有效防止 API 的重放攻击。

  • 设置 ForceNonceCheckfalse,则不检查。创建 API 时默认为 false。

true
DisableInternetboolean
  • 设置 DisableInternettrue, 仅支持内网调用 API。
  • 设置 DisableInternetfalse, 则不限制调用。创建 API 时默认为 false。
true
AppCodeAuthTypestring

AuthTypeAPP 认证时,可选值如下:

  • DEFAULT:不传默认是 DEFAULT(随分组设置)
  • DISABLE:不允许
  • HEADER:允许 AppCode 的 Header 认证
  • HEADER_QUERY:允许 AppCode 的 Header 及 Query 认证
HEADER
BackendIdstring

后端服务 ID

a0305308908c4740aba9cbfd63ba99b7
BackendEnableboolean

是否启用后端服务

true
Tagobject []

指定规则所适用的对象标签,可设置多个。

Keystring

标签的键

env
Valuestring

标签的 value

value

返回参数

名称类型描述示例值
object
ApiIdstring

本次创建 API 的 ID

8afff6c8c4c6447abb035812e4d66b65
RequestIdstring

本次创建 API 的请求 ID

6C87A26A-6A18-4B8E-8099-705278381A2C

示例

正常返回示例

JSON格式

{
  "ApiId": "8afff6c8c4c6447abb035812e4d66b65",
  "RequestId": "6C87A26A-6A18-4B8E-8099-705278381A2C"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-12-07OpenAPI 入参发生变更看变更集
变更项变更内容
入参OpenAPI 入参发生变更
    新增入参:Tag
2023-05-30API 内部配置变更,不影响调用看变更集
变更项变更内容
API 内部配置变更,不影响调用
  • 本页导读 (1)