/api/tree/rules

规则端点用于批量合并,替换或删除树的整个规则集。您可以提供将要合并到或替换当前规则集的规则列表,而不必为单个规则多次调用tree/rule端点。请注意,此端点不支持GET动词。要获取规则集,请通过/tree端点加载树。另外,必须在请求内容中提供所有数据,不支持查询字符串。

Verbs

  • POST-合并规则集

  • PUT-替换整个规则集

  • 删除-删除规则

Requests

存储数据的请求必须是请求内容中的对象数组。支持与/api/tree/rule终结点相同的字段。

Response

POSTPUT请求的成功响应将返回204响应代码,没有正文内容。成功的DELETE呼叫将返回204状态代码且没有正文。如果树没有任何规则,则DELETE请求仍将返回204。修改数据时,如果不存在任何更改,即调用未提供要存储的任何数据,则响应将为304且没有任何正文内容。如果请求的树在系统中不存在,将返回404并显示一条错误消息。如果提供了无效数据,将返回400错误。

POST/PUT

发出POST会将给定规则集与任何现有规则集合并。这意味着,如果给定规则之一已经存在一个规则,则仅给定字段将在现有规则中被修改。使用PUT方法会将给定树的所有规则替换为新集合。在存储新规则之前,将删除该树的所有现有规则。

Note

请求数组中的所有规则必须属于相同的treeId,否则将返回400异常。同样,所有规则都将通过验证,并且必须包含levelorder字段。

POST 请求示例

http://localhost:4242/api/tree/rule?treeId=1&level=0&order=0&type=METRIC&separator=.&method_override=post

内容请求示例

[
    {
        "treeId": 1,
        "level": 0,
        "order": 0,
        "type": "METRIC",
        "description": "Metric split rule",
        "split": "\\."
    },
    {
        "treeId": 1,
        "level": 0,
        "order": 1,
        "type": "tagk",
        "field": "fqdn",
        "description": "Hostname for the device"
    },
    {
        "treeId": 1,
        "level": 1,
        "order": 0,
        "type": "tagk",
        "field": "department"
        "description": "Department that owns the device"
    }
]

DELETE

使用DELETE方法将从树中删除所有规则。成功删除将返回204状态代码且没有内容正文。如果树不存在,将返回404错误。

Warning

此方法无法撤消。

删除请求示例

http://localhost:4242/api/tree/rules?treeId=1&method_override=delete