跳转到内容

端点

部分 Vibma 工具是端点工具 — 它们将多种操作(create、get、list、update、delete)整合到一个工具中,通过 method 参数进行分发,类似于 REST API。

与其使用 create_styleget_stylelist_stylesupdate_styledelete_style 等多个独立工具,不如用一个 styles 端点来处理所有操作。这样可以减少工具总数,并将相关操作组织在一起。

每个端点都遵循相同的模式:

Method输入输出
create{items: [{...}]}{results: [{id}, ...]}
get{id, fields?}资源对象(字段过滤后)
list{fields?, offset?, limit?}{totalCount, returned, offset, limit, items}
update{items: [{id, ...}]}{results: ["ok", ...]}
delete{id}{items: [{id}]}"ok"{results: ["ok", ...]}

并非每个端点都支持全部五种方法。请查看各工具的 method 枚举以了解可用操作。

以下参数会根据端点支持的方法自动可用:

  • method(必填)— 要执行的操作
  • id — 资源 ID,用于 getdelete
  • fieldsgetlist 的属性白名单。标识字段(idnametype)始终包含在内。传入 ["*"] 可返回所有字段。
  • offset / limitlist 的分页参数(默认 limit: 100)
  • items — 批量操作(createupdatedelete)的对象数组

createupdatedelete 返回一个 results 数组,每个条目与输入的 items 一一对应。每个条目为 "ok"、包含结果数据的对象(如 create 返回 {id: "..."}),或失败时的 {error: "message"}。这允许部分成功 — 一些项目可以成功,而另一些失败。

{
"results": [
{"id": "S:abc123"},
{"error": "Name already exists: Primary"}
]
}

getlist 中使用 fields 来减少响应大小。不使用 fields 时,list 返回存根(仅标识字段),get 返回完整详情。

{"method": "list", "fields": ["description", "valuesByMode"]}

端点中的每个方法都受访问层级的限制:

Method所需层级
get, listread(始终可用)
create--create
update, delete--edit

部分端点定义了自定义的方法层级。例如,variable_collectionsadd_mode 映射到 create,将 rename_mode / remove_mode 映射到 edit

以下工具使用端点模式: