插件绑定API
功能介绍
绑定插件到API上。
- 
    
只能选择发布状态的API
 - 
    
绑定以后及时生效
 - 
    
修改插件后及时生效
 - 
    
相同类型的插件只能绑定一个,如果再次绑定同类型的插件,那么已绑定的同类型插件将直接被覆盖。
 
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/plugins/{plugin_id}/attach
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        project_id  | 
      
        是  | 
      
        String  | 
      
        项目ID,获取方式请参见获取项目ID。  | 
     
| 
        instance_id  | 
      
        是  | 
      
        String  | 
      
        实例ID,在API网关控制台的“实例信息”中获取。  | 
     
| 
        plugin_id  | 
      
        是  | 
      
        String  | 
      
        插件编号  | 
     
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        X-Auth-Token  | 
      
        是  | 
      
        String  | 
      
        用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        env_id  | 
      
        是  | 
      
        String  | 
      
        绑定API的环境编码。  | 
     
| 
        api_ids  | 
      
        是  | 
      
        Array of strings  | 
      
        绑定的API编码列表。 数组长度:1 - 500  | 
     
响应参数
状态码: 201
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        attached_plugins  | 
      
        Array of PluginApiAttachInfo objects  | 
      
        绑定插件信息列表。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        plugin_attach_id  | 
      
        String  | 
      
        插件绑定编码。  | 
     
| 
        plugin_id  | 
      
        String  | 
      
        插件编码。  | 
     
| 
        plugin_name  | 
      
        String  | 
      
        插件名称。支持汉字,英文,数字,中划线,下划线,且只能以英文和汉字开头,3-255字符 
         说明: 
         中文字符必须为UTF-8或者unicode编码。  | 
     
| 
        plugin_type  | 
      
        String  | 
      
        插件类型 
 枚举值: 
  | 
     
| 
        plugin_scope  | 
      
        String  | 
      
        插件可见范围。global:全局可见。 枚举值: 
  | 
     
| 
        env_id  | 
      
        String  | 
      
        绑定API的环境编码。  | 
     
| 
        env_name  | 
      
        String  | 
      
        api授权绑定的环境名称  | 
     
| 
        api_id  | 
      
        String  | 
      
        绑定的API编码。  | 
     
| 
        api_name  | 
      
        String  | 
      
        API的名称  | 
     
| 
        attached_time  | 
      
        String  | 
      
        绑定时间。  | 
     
状态码: 400
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码: 401
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码: 403
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码: 404
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
状态码: 500
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误码  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误描述  | 
     
请求示例
将API绑定到插件上
{
  "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
  "api_ids" : [ "8aa097b00e9843efabc9c593d11b769d" ]
}
 响应示例
状态码: 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  | 
     
错误码
请参见错误码。