全部产品
Search
文档中心

API 网关:CreateApi - 创建 API

更新时间:May 25, 2023

新建一个 API。

接口说明

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

调试

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

调试

授权信息

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

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

请求参数

名称类型必填描述示例值
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

[{"ParameterType":"Number","Required":"OPTIONAL","isHide":false,"ApiParameterName":"age","DefaultValue":"20","DemoValue":"20","Description":"年龄","MinValue":18,"MaxValue":100,"Location":"Head"},{"ParameterType":"String","Required":"OPTIONAL","isHide":false,"ApiParameterName":"sex","DefaultValue":"boy","DemoValue":"boy","Description":"性别","EnumValue":"boy,girl","Location":"Query"},{"ParameterType":"Number","Required":"REQUIRED","isHide":false,"ApiParameterName":"userId","MaxLength":10,"MinValue":10000000,"MaxValue":100000000,"Location":"Path"},{"ApiParameterName":"CaClientIp","ParameterLocation":{"name":"Head","orderNumber":0},"Location":"Head","ParameterType":"String","Required":"REQUIRED","Description":"客户端IP"},{"ApiParameterName":"constance","ParameterLocation":{"name":"Head","orderNumber":0},"Location":"Head","ParameterType":"String","Required":"REQUIRED","DefaultValue":"constance","Description":"constance"}]
SystemParametersstring

api的公共参数,json格式

[{\"demoValue\":\"12345678\",\"description\":\"ConsumerAppKey\",\"location\":\"HEAD\",\"parameterName\":\"CaAppKey\",\"serviceParameterName\":\"X-Ca-Key\"}]
ConstantParametersstring

api的参数信息

[{\"ConstantValue\":\"merchant-api.dev.internal\",\"Description\":\"后端ingress domain\",\"Location\":\"HEAD\",\"ServiceParameterName\":\"host\"}]
ServiceParametersstring

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

更多信息,请参见ServiceParameter

[{"ServiceParameterName":"age","Location":"Head","Type":"Number","ParameterCatalog":"REQUEST"},{"ServiceParameterName":"sex","Location":"Query","Type":"String","ParameterCatalog":"REQUEST"},{"ServiceParameterName":"userId","Location":"Path","Type":"Number","ParameterCatalog":"REQUEST"},{"ServiceParameterName":"clientIp","Location":"Head","Type":"String","ParameterCatalog":"SYSTEM"},{"ServiceParameterName":"constance","Location":"Head","Type":"String","ParameterCatalog":"CONSTANT"}]
ServiceParametersMapstring

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

更多信息,请参见ServiceParameterMap

[{"ServiceParameterName":"age","RequestParameterName":"age"},{"ServiceParameterName":"sex","RequestParameterName":"sex"},{"ServiceParameterName":"userId","RequestParameterName":"userId"},{"ServiceParameterName":"clientIp","RequestParameterName":"CaClientIp"},{"ServiceParameterName":"constance","RequestParameterName":"constance"}]
ResultTypestring

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

HTML
ResultSamplestring

后端服务返回应答的示例

200
FailResultSamplestring

后端服务失败返回应答的示例

{"errorCode":"fail","errorMessage":"param invalid"}
ErrorCodeSamplesstring

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

更多信息,请参见ErrorCodeSample

[{"Code":"400","Message":"Missing the userId","Description":"参数错误"}]
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

返回参数

名称类型描述示例值
object
ApiIdstring

本次创建API的ID

8afff6c8c4c6447abb035812e4d66b65
RequestIdstring

本次创建API的请求ID

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

示例

正常返回示例

JSON格式

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

错误码

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

变更历史

变更时间变更内容概要操作
暂无变更历史