更新时间:2024-07-03 GMT+08:00
分享

API绑定插件

功能介绍

绑定插件到API上。

  • 只能选择发布状态的API
  • 绑定以后及时生效
  • 修改插件后及时生效
  • 相同类型的插件只能绑定一个,原来已经绑定的同类型插件,会直接覆盖。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/{project_id}/apic/instances/{instance_id}/apis/{api_id}/plugins/attach

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。

instance_id

String

实例ID

api_id

String

API编号

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表3 请求Body参数

参数

是否必选

参数类型

描述

env_id

String

绑定API的环境编码。

plugin_ids

Array of strings

绑定的插件编码列表。

数组长度:1 - 500

响应参数

状态码: 201

表4 响应Body参数

参数

参数类型

描述

attached_plugins

Array of PluginApiAttachInfo objects

绑定插件信息列表。

表5 PluginApiAttachInfo

参数

参数类型

描述

plugin_attach_id

String

插件绑定编码。

plugin_id

String

插件编码。

plugin_name

String

插件名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3-255字符

说明:

中文字符必须为UTF-8或者unicode编码。

plugin_type

String

插件类型

  • cors:跨域资源共享
  • set_resp_headers:HTTP响应头管理
  • kafka_log:Kafka日志推送
  • breaker:断路器
  • rate_limit: 流量控制
  • third_auth: 第三方认证

plugin_scope

String

插件可见范围

  • global:全局可见
  • app:集成应用可见

env_id

String

绑定API的环境编码。

env_name

String

API授权绑定的环境名称

api_id

String

绑定的API编码。

api_name

String

API的名称

attached_time

String

绑定时间。

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

为指定API绑定插件

{
  "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
  "plugin_ids" : [ "5b729aa252764739b3s237ef0d66dc63" ]
}

响应示例

状态码: 201

OK

{
  "attached_plugins" : [ {
    "plugin_attach_id" : "8aa097b00e9843efacb9c593d11b769e",
    "plugin_id" : "5b729aa252764739b3s237ef0d66dc63",
    "plugin_name" : "跨域插件",
    "plugin_type" : "cors",
    "plugin_scope" : "global",
    "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
    "env_name" : "RELEASE",
    "api_id" : "8aa097b00e9843efabc9c593d11b769d",
    "api_name" : "api_name",
    "attached_time" : "2022-11-02T12:31:23.353Z"
  } ]
}

状态码: 400

Bad Request

{
  "error_code" : "APIG.2012",
  "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation"
}

状态码: 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.3068",
  "error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist"
}

状态码: 500

Internal Server Error

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

状态码

状态码

描述

201

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码

相关文档