查询自定义数据集合列表¶
1. 接口描述¶
接口请求路径:POST /prod-api/waf/wafv3/dataList/describeCustomDataList
describeCustomDataList 用于分页查询当前账号下的自定义数据集合列表,支持按组名称、项目内容、备注筛选,并返回关联的策略组/规则信息。Web 应用防火墙(WAF 3.0)与 HTTP DDoS(NLA)共用该数据集合能力。
Token 获取方式见 密钥鉴权。
2. 输入参数¶
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| pageNum | 是 | Integer | 当前页数 示例值: 1 |
| pageSize | 是 | Integer | 每页显示条目个数 示例值: 10 |
| filters | 否 | Array | 搜索条件列表 |
| filters.label | 否 | String | 搜索字段,支持以下值:listName:组名称data:IP/主机名/用户代理等项目内容message:备注示例值: listName |
| filters.value | 否 | Array of String | 搜索值。传入单个值为模糊搜索,多个值为精确搜索 示例值: ["vfg"] |
3. 示例¶
示例1 按组名称分页查询¶
输入示例¶
代码调用¶
请将 {登录域名}、token 替换为实际值。
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class DescribeCustomDataListTest {
public static void main(String[] args) throws Exception {
String url = "https://{登录域名}/prod-api/waf/wafv3/dataList/describeCustomDataList";
String token = "eyJhbGciOiJIUzUxMiJ9.xxxxxx";
String requestBody = "{"
+ "\"pageSize\":10,"
+ "\"pageNum\":1,"
+ "\"filters\":[{\"label\":\"listName\",\"value\":[\"vfg\"]}]"
+ "}";
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Authorization", "Bearer " + token);
httpPost.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));
try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
int statusCode = response.getStatusLine().getStatusCode();
String body = EntityUtils.toString(response.getEntity(), "UTF-8");
System.out.println("Status Code: " + statusCode);
System.out.println("Body: " + body);
}
}
}
}
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://{登录域名}/prod-api/waf/wafv3/dataList/describeCustomDataList"
token := "eyJhbGciOiJIUzUxMiJ9.xxxxxx"
requestBody := []byte(`{
"pageSize": 10,
"pageNum": 1,
"filters": [
{
"label": "listName",
"value": ["vfg"]
}
]
}`)
req, err := http.NewRequest(http.MethodPost, url, bytes.NewReader(requestBody))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+token)
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println("Status Code:", resp.StatusCode)
fmt.Println("Body:", string(body))
}
输出示例¶
{
"total": 1,
"rows": [
{
"dataListId": 83,
"listName": "vfg",
"message": "ee",
"dataListClass": "IP_SRC",
"dataListClassLabel": "IP",
"updateTime": "2026-03-10 15:29:51",
"rules": []
}
],
"code": 200,
"msg": "成功"
}
4. 输出参数¶
| 参数名称 | 类型 | 描述 |
|---|---|---|
| code | Integer | 状态码。示例值:200 |
| msg | String | 提示信息。示例值:成功 |
| total | Integer | 符合条件的总条数。示例值:1 |
| rows | Array | 数据集合列表 |
| rows[].dataListId | Integer | 数据集合 ID。示例值:83 |
| rows[].listName | String | 组名称。示例值:vfg |
| rows[].message | String | 备注。示例值:ee |
| rows[].dataListClass | String | 数据集合类型。示例值:IP_SRC |
| rows[].dataListClassLabel | String | 类型展示名。示例值:IP |
| rows[].updateTime | String | 最后更新时间,格式 yyyy-MM-dd HH:mm:ss示例值: 2026-03-10 15:29:51 |
| rows[].rules | Array | 关联的策略组/规则列表;无关联时为空数组 |
| rows[].rules[].channel | String | 渠道标识(如 WAF / NLA) |
| rows[].rules[].aclId | Integer | 策略组 ID |
| rows[].rules[].aclName | String | 策略组名称 |
| rows[].rules[].ruleMessage | String | 关联规则备注/描述 |
5. 错误码¶
| HTTP 状态码 / 业务提示 | 描述 |
|---|---|
| 200 | 成功 |
| 401 | 未鉴权或 Token 无效 |
| 403 | 无权限 |
| 参数异常 | filters.label 不是 listName / data / message |