ImportHttpApi - 导入HTTP API

导入HTTP API,支持将OpenAPI 2.0和 OpenAPI 3.0.x版本的定义文件导入为REST类型的API。

调试

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

授权信息

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

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

请求语法

POST /v1/http-apis/import HTTP/1.1

请求参数

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

请求体参数。

specContentBase64string

Bse64 编码的 API 定义,支持 OAS2.0 和 OAS3.0 规范,支持 YAML 格式和 JSON 格式。优先级高于 specFileUrl 参数。 若文件大小超过 10MB 请使用 specFileUrl 参数传递。

b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo=
specFileUrlstring

API 定义文件的下载地址,需要公网可以下载或使用相同 region 的 OSS 内网下载地址。文件地址要求拥有下载权限,对于 OSS 非公开读的文件链接,请参考文档 https://help.aliyun.com/zh/oss/user-guide/how-to-obtain-the-url-of-a-single-object-or-the-urls-of-multiple-objects ,填写带有下载权限的地址。目前仅支持 OSS 上存储的 API 定义文件。

https://my-bucket.oss-cn-hangzhou.aliyuncs.com/my-api/api.yaml
namestring

导入的 API 名称,若不填则从 API 定义文件中提取。若 API 名称与版本化配置已存在,则本次导入会根据 strategy 字段对已有 API 定义做更新。

import-test
descriptionstring

导入的 API 描述字段,若未填写则从 API 定义中提取。限制长度 255 字节。

测试专用API
versionConfigHttpApiVersionConfig

API 版本化配置,若开启版本化配置,则版本号与 API 名称与已存在 API 相同时。本次导入将视为更新动作。若未开启版本化配置,则 API 名称与已存在 API 相同时,本次导入将视为更新动作。

dryRunboolean

导入预检,若开启则仅进行检测,不进行导入动作。

false
strategystring

当导入的 API 名称与版本管理与已存在 API 相同时,需要指定更新策略。

  • SpecOnly: 完全以导入文件为准。
  • SpecFirst: 以导入文件为优先,新增接口与更新已有接口,文件中未提及的接口保持不动。
  • ExistFirst: 以存在的 API 为优先,只新增接口,不更新已有接口。 为空时默认 ExistFirst 策略。
ExistFirst
targetHttpApiIdstring

若指定该字段,则本次导入将更新指定 API 而非导入或根据 API 名称与版本管理配置搜索已存在 API。目标 API 必须时 REST 类型。

api-xxxx
resourceGroupIdstringrg-aek23nsa353vmra
specOssConfigobject

OSS 信息

regionIdstring

地域 id

cn-shanghai
bucketNamestring

bucket 名称。

gms-service-prod
objectKeystring

文件完整路径。

/test/swagger.json

返回参数

名称类型描述示例值
object

响应。

requestIdstring

请求 ID。

CE857A85-251D-5018-8103-A38957D71E20
codestring

响应状态码。

Ok
messagestring

响应消息。

success
dataobject

API 信息。

namestring

API 名称。

import-test
httpApiIdstring

HTTP API ID。

api-xxx
dryRunInfoobject

预检结果。

successOperationsarray<object>

预检成功的接口列表。

successOperationobject

接口信息。

actionstring

预检后将执行的动作。

  • Create:创建
  • Update: 更新
Create
namestring

接口名称。

CreateUser
pathstring

接口路径。

/v1/users
methodstring

接口方法。

POST
failureOperationsarray<object>

预检失败的接口列表。

failureOperationobject

接口信息。

pathstring

接口路径。

/v1/orders
methodstring

接口方法。

GET
errorMessagestring

错误信息

缺少响应定义。
successComponentsarray<object>

预检成功的数据结构列表。

successComponentobject

数据结构信息。

actionstring

预检后将执行的动作。

  • Create:创建
  • Update: 更新
Create
namestring

数据结构名称。

userDTO
failureComponentsarray<object>

预检失败的数据结构列表。

failureComponentobject

数据结构信息。

namestring

数据结构名称。

orderDTO
errorMessagestring

错误信息。

数据结构定义有误。
errorMessagesarray

错误信息,若错误信息非空,则无法成功导入 API。

errorMessagestring

单个错误信息。

OpenAPI 3.1.x 版本不支持。
warningMessagesarray

告警信息,告警信息非空,则部分接口/数据接口可能导入不成功。

warningMessagestring

单个告警信息。

GET /v1/orders 参数定义不完整。
existHttpApiInfoHttpApiApiInfo

已存在的 API 信息。若该字段非空,则导入动作将更新该 API。

错误码

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