文档首页/ 代码检查 CodeArts Check/ API参考/ API/ 代码度量/ 获取重复文件代码 - GetMeasureDuplicationInfo
更新时间:2025-11-28 GMT+08:00
分享

获取重复文件代码 - GetMeasureDuplicationInfo

功能介绍

根据文件路径和起止行数或重复块ID,获取对应的文件代码

调用方法

请参见如何调用API

授权信息

当前API调用无需身份策略权限。

URI

POST /v1/measure/measure-duplication-info

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Language

String

参数解释:

语言,决定响应以哪种语言返回。

约束限制:

不涉及。

取值范围:

  • zh-cn,中文。

  • en-us,英文。

默认取值:

zh-cn。

表2 请求Body参数

参数

是否必选

参数类型

描述

taskId

String

参数解释:

任务ID,即新建检查任务接口的返回值,每个CodeArtsCheck任务及其下的分支任务、通过API创建的增量任务都有1个唯一的任务ID。即“查询任务列表接口”的响应中的ID字段。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

jobId

String

参数解释:

执行ID,来自代码检查执行任务接口的返回值,每次执行代码检查任务都有唯一的执行ID。版本级不传,门禁级必传。即“根据任务ID查询任务执行记录”的响应中的ID字段。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

filePath

String

参数解释:

文件路径。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

blockId

String

参数解释:

重复块ID。

约束限制:

传startLine、endLine或传bockId,二选一。

取值范围:

不涉及。

默认取值:

不涉及。

startLine

Integer

参数解释:

开始行数。

约束限制:

传startLine、endLine或传bockId,二选一。

取值范围:

不涉及。

默认取值:

不涉及。

endLine

Integer

参数解释:

结束行数。

约束限制:

传startLine、endLine或传bockId,二选一。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

status

String

参数解释:

响应状态。

取值范围:

  • success,成功。

  • error,失败。

result

MeasureDuplicationInfo object

参数解释:

重复文件代码。

约束限制:

不涉及。

表4 MeasureDuplicationInfo

参数

参数类型

描述

codeHubFileUrl

String

参数解释:

文件的代码仓访问域名。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

rawLines

String

参数解释:

文件行数。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

code

Array of CodeLine objects

参数解释:

文件代码。

约束限制:

不涉及。

表5 CodeLine

参数

参数类型

描述

lineNumber

Integer

参数解释:

行号。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

lineContent

String

参数解释:

代码内容。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

状态码:400

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码:401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

  • 查询ID为897acf5exxx48a5013cd的任务下,code/test.java文件第1行到第200行的代码内容

    POST https://{endpoint}/v1/measure/measure-duplication-info
    
    {
      "taskId" : "897acf5exxx48a5013cd",
      "filePath" : "code/test.java",
      "blockId" : "",
      "startLine" : 1,
      "endLine" : 200
    }
  • 查询ID为897acf5exxx48a5013cd的任务下,code/test.java文件的重复块ID为1的代码内容

    POST https://{endpoint}/v1/measure/measure-duplication-info
    
    {
      "taskId" : "897acf5exxx48a5013cd",
      "filePath" : "code/test.java",
      "blockId" : "1"
    }

响应示例

状态码:200

获取重复文件代码响应体

{
  "status" : "success",
  "error" : null,
  "result" : {
    "code" : [ {
      "lineNumber" : "18,",
      "lineContent" : "if ( typeof require !== \"undefined\" &&"
    }, {
      "lineNumber" : "19,",
      "lineContent" : "\ttypeof exports !== \"undefined\" &&"
    }, {
      "lineNumber" : "20,",
      "lineContent" : "\ttypeof module !== \"undefined\" ) {"
    }, {
      "lineNumber" : "21,",
      "lineContent" : "\t// Assume CommonJS"
    }, {
      "lineNumber" : "22,",
      "lineContent" : "\tGlobalize = require( \"globalize\" );"
    } ]
  }
}

状态码:400

Bad Request

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

状态码:401

Unauthorized

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

状态码

状态码

描述

200

获取重复文件代码响应体

400

Bad Request

401

Unauthorized

错误码

请参见错误码

相关文档