
# 查询某个仓库的文件信息
#### 功能介绍
获取仓库中文件的信息，如名称、大小、内容。请注意，文件内容是Base64编码的。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CodeHub/doc?api=ListFilesByQuery)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /v2/projects/{repo_id}/repository/files
表1路径参数 
| 参数      | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| repo_id | 是    | Integer | **参数解释：** 仓库ID，进入仓库的"代码"页面，仓库名称下的"Repository ID"即为仓库ID。 **约束限制：** 不涉及。 **取值范围：** 0-2147483647 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| file_path | 是    | String | **参数解释：** 文件的完整路径 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。           |
| ref       | 是    | String | **参数解释：** commit id，仓库的branch名或tag名 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 字符串长度范围是\[1,100000\]。 **默认取值：** 不涉及。 |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数     | 参数类型                                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| error  | [Error] object                     | **参数解释：** 响应错误。 **取值范围：** 不涉及。                                                                                                                                                                                                                            |
| result | [FileContentInfo] object | **参数解释：** 文件详情。 **取值范围：** 不涉及。                                                                                                                                                                                                                           |
| status | String                                                                                             | **参数解释：** 调用此接口的响应状态。 **取值范围：** - success，表示接口调用成功。  - failed，表示接口调用失败。   |
   
 表5Error 
| 参数      | 参数类型   | 描述                                                                                                                                                  |
|:---|:---|:---|
| code    | String | **参数解释：** 错误码。 **取值范围：** 符合错误码格式字符串，长度\[0,100\]。 |
| message | String | **参数解释：** 错误信息。 **取值范围：** 不涉及。               |
   
 表6FileContentInfo 
| 参数             | 参数类型    | 描述                                                                                                                                               |
|:---|:---|:---|
| file_name      | String  | **参数解释：** 文件名 **取值范围：** 不涉及。              |
| file_path      | String  | **参数解释：** 文件路径 **取值范围：** 不涉及。                |
| size           | Integer | **参数解释：** 文件大小 **取值范围：** 不涉及。            |
| encoding       | String  | **参数解释：** 文件编码 **取值范围：** 不涉及。           |
| content_sha256 | String  | **参数解释：** sha256编码的文件内容 **取值范围：** 不涉及。  |
| ref            | String  | **参数解释：** 分支或Tag名 **取值范围：** 不涉及。      |
| blob_id        | String  | **参数解释：** blob sha id **取值范围：** 40       |
| commit_id      | String  | **参数解释：** 提交对应的SHA id **取值范围：** 40        |
| last_commit_id | String  | **参数解释：** 最后一个提交对应的SHA id **取值范围：** 40 |
| content        | String  | **参数解释：** base64编码的文件内容 **取值范围：** 不涉及。    |
   
#### 请求示例
```
GET https://{endpoint}/v2/projects/859341/repository/files?README.md&ref=master
```
#### 响应示例
**状态码： 200**
OK
```
{
  "result" : {
    "size" : 9,
    "encoding" : "base64",
    "ref" : "master",
    "content" : "NDU0NTQ1NDQ1",
    "file_name" : "README.md",
    "file_path" : "README.md",
    "content_sha256" : "e16f4f6c41a79d120484774a625bea8a3c3dcb655aa7c7e793ac48639dc63944",
    "blob_id" : "3325fa3142fd66fedc8c3a5218b417f561e0ea2f",
    "commit_id" : "a772945ec2765e322cc83e0f467f394effa22cf3",
    "last_commit_id" : "a772945ec2765e322cc83e0f467f394effa22cf3"
  },
  "status" : "success"
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见错误码。
