更新时间:2025-08-19 GMT+08:00

获取规则列表接口

功能介绍

根据语言、问题级别等条件查询规则列表。

调用方法

请参见如何调用API

URI

GET /v2/rules

表1 Query参数

参数

是否必选

参数类型

描述

rule_languages

String

参数解释:

规则的语言。

约束限制:

需要传当前环境支持的语言。

取值范围:

只能传一种语言。当前支持的语言有:ARKTS,C#,C++,CSS,GO,HTML,JAVA,JAVASCRIPT,KOTLIN,LUA,PHP,PYTHON,RUST,SCALA,SHELL,SQL,TYPESCRIPT。

默认取值:

不涉及。

rule_severity

String

参数解释:

缺陷等级。

约束限制:

不涉及。

取值范围:

  • 0,致命。

  • 1,严重。

  • 2,一般。

  • 3,提示。

默认取值:

0,1,2,3。默认全部查询

offset

Integer

参数解释:

分页索引,偏移量。

约束限制:

不涉及。

取值范围:

0-999

默认取值:

0

limit

Integer

参数解释:

分页查询,每页显示的数量。

约束限制:

不涉及。

取值范围:

0-200

默认取值:

100

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

约束限制:

不涉及。

取值范围:

字符串长度不少于1,不超过10万。

默认取值:

不涉及。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

info

Array of RuleListItem objects

参数解释:

规则信息。

取值范围:

不涉及。

total

Integer

参数解释:

总数。

取值范围:

不涉及。

表4 RuleListItem

参数

参数类型

描述

rule_set

String

参数解释:

规则的规范分类。

取值范围:

当前的分类有:common,common_standard_recommend,common_standard_rule,design_smells,security,security_standard_recommend,security_standard_rule。

rule_id

String

参数解释:

规则id。

取值范围:

32位uuid。

rule_language

String

参数解释:

规则所属语言。

取值范围:

当前支持的语言有:ARKTS,C#,C++,CSS,GO,HTML,JAVA,JAVASCRIPT,KOTLIN,LUA,PHP,PYTHON,RUST,SCALA,SHELL,SQL,TYPESCRIPT。

rule_name

String

参数解释:

规则名称。

取值范围:

不涉及。

rule_severity

String

参数解释:

规则问题级别。

取值范围:

  • 0,致命。

  • 1,严重。

  • 2,一般。

  • 3,提示。

rule_tages

String

参数解释:

规则标签。

取值范围:

huawei,iso5055,cert,cwe,top10,top25,misra,GJB,autosar,PCI DSS等。

right_example

String

参数解释:

正确示例。

取值范围:

代码块或者文字示例等。

error_example

String

参数解释:

错误示例。

取值范围:

代码块或者文字示例等。

revise_opinion

String

参数解释:

修改建议。

取值范围:

代码块或者文字示例等。

rule_desc

String

参数解释:

规则描述。

取值范围:

不涉及。

状态码:400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码:401

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

GET https://{endpoint}/v2/rules

响应示例

状态码:200

Request succeeded!

{
  "info" : [ {
    "rule_id" : "2561",
    "rule_language" : "Java",
    "rule_name" : "\"=+\"不能用\"+=\"代替",
    "rule_severity" : "1",
    "rule_tages" : "bug",
    "rule_desc" : "<p>使用恒等运算符(<code>===</code>)比较不同的类型,其结果总是 <code>false</code> 。</p>",
    "right_example" : "<pre>\nvar a = 8;\nvar b = \"8\";\n\nif (a == b) {\n  // ...\n}\n</pre>\n<p>or</p>\n<pre>\nvar a = 8;\nvar b = \"8\";\n\nif (a === Number(b)) {\n  // ...\n}\n</pre>",
    "error_example" : "<pre>\nvar a = 8;\nvar b = \"8\";\n\nif (a === b) {  //不规范;比较结果总是false\n  // ...\n}\n</pre>",
    "revise_opinion" : "无",
    "rule_set" : "common"
  }, {
    "rule_id" : "8048",
    "rule_language" : "Java",
    "rule_name" : "\"Arrays.stream\" should be used for primitive arrays",
    "rule_severity" : "1",
    "rule_tages" : "performance",
    "rule_desc" : "<p>使用恒等运算符(<code>===</code>)比较不同的类型,其结果总是 <code>false</code> 。</p>",
    "right_example" : "<pre>\nvar a = 8;\nvar b = \"8\";\n\nif (a == b) {\n  // ...\n}\n</pre>\n<p>or</p>\n<pre>\nvar a = 8;\nvar b = \"8\";\n\nif (a === Number(b)) {\n  // ...\n}\n</pre>",
    "error_example" : "<pre>\nvar a = 8;\nvar b = \"8\";\n\nif (a === b) {  //不规范;比较结果总是false\n  // ...\n}\n</pre>",
    "revise_opinion" : "无",
    "rule_set" : "common"
  } ],
  "total" : 2
}

状态码:400

Bad Request

{
  "error_code" : "CC.00000000",
  "error_msg" : "网络繁忙,请稍后再试"
}

状态码:401

Unauthorized

{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}

状态码

状态码

描述

200

Request succeeded!

400

Bad Request

401

Unauthorized

错误码

请参见错误码