更新时间:2024-11-11 GMT+08:00

导入API

功能介绍

导入API。导入文件内容需要符合swagger标准规范,API网关自定义扩展字段请参考《API网关用户指南》的“导入导出API:扩展定义”章节。

调用方法

请参见如何调用API

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/import

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见获取项目ID

instance_id

String

实例ID,在API网关控制台的“实例信息”中获取。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 FormData参数

参数

是否必选

参数类型

描述

is_create_group

Boolean

是否创建新分组

缺省值:true

group_id

String

API分组编号,当is_create_group=false时为必填

extend_mode

String

扩展信息导入模式

  • merge:当扩展信息定义冲突时,merge保留原有扩展信息

  • override:当扩展信息定义冲突时,override会覆盖原有扩展信息

缺省值:merge

simple_mode

Boolean

是否开启简易导入模式

缺省值:false

mock_mode

Boolean

是否开启Mock后端

缺省值:false

api_mode

String

导入模式

  • merge:当API信息定义冲突时,merge保留原有API信息

  • override:当API信息定义冲突时,override会覆盖原有API信息

缺省值:merge

file_name

File

导入Api的请求体,json或yaml格式的文件

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

success

Array of Success objects

导入成功信息

failure

Array of Failure objects

导入失败信息

swagger

Swagger object

swagger文档导入结果

暂不支持

group_id

String

API分组编号

ignore

Array of Ignore objects

被忽略导入的API信息

表5 Success

参数

参数类型

描述

path

String

API请求路径

method

String

API请求方法

action

String

导入行为:

  • update:表示更新API

  • create:表示新建API

id

String

导入成功的API编号

表6 Failure

参数

参数类型

描述

path

String

API请求路径

error_msg

String

导入失败的错误信息

method

String

API请求方法

error_code

String

导入失败的错误码

表7 Swagger

参数

参数类型

描述

id

String

swagger文档编号

result

String

导入结果说明

表8 Ignore

参数

参数类型

描述

method

String

API请求方法

path

String

API请求路径

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表13 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

导入API

{
  "is_create_group" : false,
  "group_id" : "d9ce8c9eede54b3f841ec324fe0bfdc2",
  "file_name" : "APIGroup_test.json"
}

响应示例

状态码: 200

OK

{
  "group_id" : "d9ce8c9eede54b3f841ec324fe0bfdc2",
  "failure" : [ {
    "path" : "/test/demo",
    "error_msg" : "The API already exists, An API with the same combination of the method, path, and x-apigateway-match-mode fields already exists. API name: API_demo",
    "method" : "GET",
    "error_code" : "APIG.3301"
  } ],
  "success" : [ {
    "path" : "/test",
    "method" : "GET",
    "action" : "create",
    "id" : "8ae6bcafab6f49d78242bff26ad8a4f0"
  } ],
  "swagger" : {
    "id" : "e2ea8a7c1cfc49b3830437cb79d7fd59",
    "result" : "Success"
  }
}

状态码: 400

Bad Request

{
  "error_code" : "APIG.3201",
  "error_msg" : "The API group name already exists"
}

状态码: 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.3001",
  "error_msg" : "API group not found"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码