文档

ImportOAS - 通过OAS导入API

更新时间:

使用标准OAS定义导入API。

调试

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

授权信息

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

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

请求参数

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

API 分组的 ID

08ae4aa0f95e4321849ee57f4e0b3077
Datastring

OAS 文本内容,或 OSS 链接

swagger: "2.0" info: version: "1.0.0" title: "Swagger Petstore 2.0" basePath: "/" schemes: - "https" - "http" paths: /pet/findByStatus: get: tags: - "pet" summary: "Finds Pets by status" operationId: "findPetsByStatus" parameters: - name: "status" in: "query" required: true type: "array" items: type: "string" enum: - "available" - "pending" - "sold" default: "available" collectionFormat: "multi" responses: "200": description: "successful operation" schema: type: "array" items: $ref: "#/definitions/Pet" "400": description: "Invalid status value" definitions: Category: type: "object" properties: id: type: "integer" format: "int64" name: type: "string" Tag: type: "object" properties: id: type: "integer" format: "int64" name: type: "string" Pet: type: "object" required: - "name" - "photoUrls" properties: id: type: "integer" format: "int64" category: $ref: "#/definitions/Category" name: type: "string" example: "doggie" photoUrls: type: "array" items: type: "string" tags: type: "array" items: $ref: "#/definitions/Tag" status: type: "string" description: "pet status in the store" enum: - "available" - "pending" - "sold"
Overwriteboolean

是否覆盖现有 API。

覆盖检测条件为:API 的 HTTP 请求类型+后端请求路径相同。

true
IgnoreWarningboolean

忽略警告信息

true
SkipDryRunboolean

跳过预检查,进行导入

true
OASVersionstring

OAS 版本信息

OAS2
BackendNamestring

后端服务名称

testBackendService
AuthTypestring

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

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

入参请求的模式,取值为:

  • MAPPING:入参映射(过滤未知参数)

  • PASSTHROUGH:入参透传

PASSTHROUGH

返回参数

名称类型描述示例值
object
OperationIdstring

进行导入操作时生成的异步任务 ID,用来查询导入任务的执行情况

c16a1880f5164d779f6a54f64d997cd9
RequestIdstring

请求 ID

E7FE7172-AA75-5880-B6F7-C00893E9BC06
ErrorMessagesarray

OAS 定义中不支持的错误内容

ErrorMessagestring

OAS 定义中不支持的错误内容

Invalid extensions:x-aliyun-apigateway-auth-type. Option value [ANONYMOUS, APP].
WarningMessagesarray

OAS 定义中不支持的警告信息,可以忽略

WarningMessagestring

OAS 定义中不支持的警告信息,可以忽略

There is no valid api definition in your file.
SuccessApisarray<object>

预检成功的 API 信息

SuccessApiobject

预检成功的 API 信息

Pathstring

创建 API 时配置的请求路径

/st1
HttpMethodstring

创建 API 时配置的 HTTP 方法

POST
ApiIdstring

API 的 ID。

92af1abffc2443eaa2b815fdbd9c13f1
ApiOperationstring

该 API 是创建(CREATE)或修改(MODIFY)

CREATE
FailedApisarray<object>

预检失败的 API 信息

FailedApiobject

预检失败的 API 信息

Pathstring

创建 API 时配置的请求路径

/st1
HttpMethodstring

创建 API 时配置的 HTTP 方法

POST
ErrorMsgstring

错误信息

Invalid Api Definition.
FailedModelsarray<object>

预检失败的模型信息

FailedModelobject

预检失败的模型信息

ErrorMsgstring

错误信息

Invalid Model Definition.
ModelNamestring

模型名称

test
GroupIdstring

API 分组 ID

2c1bc62e19614cc68c6b0b484bc9c5db
SuccessModelsarray<object>

预检成功的模型信息

SuccessModelobject

预检成功的模型信息

ModelUidstring

模型 uid

1r4efwee19614cc68c6b0b484bc9c5dbs
ModelNamestring

模型名称

test
GroupIdstring

API 分组 ID

feaccf67040643bcbdedb253e59eb527
ModelOperationstring

模型操作,创建(CREATE)或修改(MODIFY)

CREATE

示例

正常返回示例

JSON格式

{
  "OperationId": "c16a1880f5164d779f6a54f64d997cd9",
  "RequestId": "E7FE7172-AA75-5880-B6F7-C00893E9BC06",
  "ErrorMessages": {
    "ErrorMessage": [
      "Invalid extensions:x-aliyun-apigateway-auth-type. Option value [ANONYMOUS, APP]."
    ]
  },
  "WarningMessages": {
    "WarningMessage": [
      "There is no valid api definition in your file."
    ]
  },
  "SuccessApis": {
    "SuccessApi": [
      {
        "Path": "/st1",
        "HttpMethod": "POST",
        "ApiId": "92af1abffc2443eaa2b815fdbd9c13f1",
        "ApiOperation": "CREATE"
      }
    ]
  },
  "FailedApis": {
    "FailedApi": [
      {
        "Path": "/st1",
        "HttpMethod": "POST",
        "ErrorMsg": "Invalid Api Definition."
      }
    ]
  },
  "FailedModels": {
    "FailedModel": [
      {
        "ErrorMsg": "Invalid Model Definition.",
        "ModelName": "test",
        "GroupId": "2c1bc62e19614cc68c6b0b484bc9c5db"
      }
    ]
  },
  "SuccessModels": {
    "SuccessModel": [
      {
        "ModelUid": "1r4efwee19614cc68c6b0b484bc9c5dbs",
        "ModelName": "test",
        "GroupId": "feaccf67040643bcbdedb253e59eb527",
        "ModelOperation": "CREATE"
      }
    ]
  }
}

错误码

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

变更历史

变更时间变更内容概要操作
2022-11-16新增 OpenAPI查看变更详情