Skip to content

执行插件

接口信息

接口地址:/api/v1/plugin/{id}/execute

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

接口描述:

运行指定的插件,请求体为动态参数,根据插件定义的入参传递

请求示例:

javascript
{
  "query": "test",
  "count": 5
}

请求参数

请求头

参数名类型必填描述示例值
AuthorizationstringAPI KeyBearer ak-xxxxeyJhbGciOiJIUzI1NiJ9

路径参数:

参数名称参数说明是否必须数据类型
id插件IDinteger(int64)

请求体参数:

动态参数,根据插件定义的入参传递对应的 key-value 键值对。

响应参数:

参数名称参数说明类型schema
code业务状态码,0000 表示成功,其余失败string
displayCode源系统状态码,用于问题跟踪string
message错误描述信息string
data插件执行返回的结果object
tid跟踪唯一标识string
successboolean

响应示例:

javascript
{
	"code": "0000",
	"displayCode": "0000",
	"message": "success",
	"data": null,
	"tid": "3103671776084713674",
	"success": true
}

CURL示例

shell
curl 'http://127.0.0.1:8081/api/v1/plugin/100/execute' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{"query": "test", "count": 5}'

{"code":"0000","displayCode":"0000","message":"success","data":null,"tid":"1559721776084718811","success":true}

测试用例

#场景状态码结果
1执行已发布的插件0000成功,返回插件执行结果
2执行不存在或未发布的插件0001失败,提示"Error plugin id or not published"

TS模板示例

ts
// 响应接口
export interface PluginExecuteRes {
  code: string;
  displayCode: string;
  message: string;
  data: object | null;
  tid: string;
  success: boolean;
}

/** 
 * 执行插件
 * @param {number} id - 插件ID
 * @param {Record<string, unknown>} params - 插件动态入参
 * @returns
 */
export function executePlugin(id: number, params: Record<string, unknown>): Promise<PluginExecuteRes> {
  return request.post(`/api/v1/plugin/${id}/execute`, params);
}