
# 查询技术栈模板工程 - ListProjectTemplates
#### 功能介绍
查询技术栈对应的模板工程。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CloudIDE/doc?api=ListProjectTemplates)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-cloudide/cloudide_03_0027.html)。
| 授权项                              | 访问级别                  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| CodeArtsIDEOnline::listTemplates | Permission_management | -           | -   | -  | -      |
   
#### URI
GET /v2/templates
表1Query参数 
| 参数       | 是否必选 | 参数类型   | 描述                                                                                   |
|:---|:---|:---|:---|
| arch     | 否    | String | **参数解释：** CPU架构。 **约束限制：** 不涉及。 **取值范围：** - x86：使用x86架构 - arm：使用arm架构。 **默认取值：** x86 |
| stack_id | 是    | String | **参数解释：** 技术栈ID，通过技术栈管理ListStacks接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。  |
#### 请求参数
表2请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token     | 是    | String | **参数解释：** 用户Token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。       |
| X-Sdk-Date       | 否    | String | **参数解释：** 请求发起时间。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。        |
| host             | 否    | String | **参数解释：** 请求host地址。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。      |
| x-security-token | 否    | String | **参数解释：** IAM5.0鉴权token。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| Authorization    | 否    | String | **参数解释：** AK/SK签名。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 空值。        |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数        | 参数类型                                                                                                               | 描述                                                                      |
|:---|:---|:---|
| templates | Array of [ProjectTemplates] objects | **参数解释：** 模板列表。 **取值范围：** 不涉及                                           |
| status    | String                                                                                                             | **参数解释：** 请求响应的状态，表明请求是否成功。 **取值范围：** - success：请求响应成功。 - error：请求响应失败。 |
   
 表4ProjectTemplates 
| 参数           | 参数类型                                                                                               | 描述                                                                                                                                      |
|:---|:---|:---|
| description  | String                                                                                             | **参数解释：** 项目描述。 **取值范围：** 不涉及                                                                                                           |
| display_name | String                                                                                             | **参数解释：** 显示名称。 **取值范围：** 不涉及                                                                                                           |
| logo         | String                                                                                             | **参数解释：** 显示图标。 **取值范围：** 不涉及                                                                                                           |
| name         | String                                                                                             | **参数解释：** 模板名称。 **取值范围：** 不涉及                                                                                                           |
| path         | String                                                                                             | **参数解释：** 项目路径。 **取值范围：** 不涉及                                                                                                           |
| project_type | String                                                                                             | **参数解释：** 项目类型。 **取值范围：** - Java：创建Java项目。 - NodeJs：创建NodeJs项目。 - Python：创建Python项目。 - C/C++：创建C/C++项目。 -Go：创建GO项目。 -Plugin：创建Plugin项目。 |
| region       | String                                                                                             | **参数解释：** 项目所属区域。 **取值范围：** 不涉及                                                                                                         |
| source       | [SourceStorage] object | **参数解释：** 项目来源。 **取值范围：** 不涉及                                                                                                           |
| tags         | Array of strings                                                                                   | **参数解释：** 项目标签。 **取值范围：** 不涉及                                                                                                           |
| template_id  | Long                                                                                               | **参数解释：** 模板ID。 **取值范围：** 不涉及                                                                                                           |
| arch         | String                                                                                             | **参数解释：** cpu架构。 **取值范围：** - x86架构类型。 - arm架构类型。                                                                                        |
   
 表5SourceStorage 
| 参数         | 参数类型                 | 描述                           |
|:---|:---|:---|
| location   | String               | **参数解释：** 位置。 **取值范围：** 不涉及  |
| parameters | Map\<String,String\> | **参数解释：** 参数值。 **取值范围：** 不涉及 |
| type       | String               | **参数解释：** 类型。 **取值范围：** 不涉及  |
   
**状态码：403**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                             |
|:---|:---|:---|
| error_msg  | String | **参数解释：** 错误描述信息。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~255。 |
| error_code | String | **参数解释：** 错误码。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~100。    |
   
**状态码：404**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                             |
|:---|:---|:---|
| error_msg  | String | **参数解释：** 错误描述信息。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~255。 |
| error_code | String | **参数解释：** 错误码。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~100。    |
   
**状态码：406**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                             |
|:---|:---|:---|
| error_msg  | String | **参数解释：** 错误描述信息。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~255。 |
| error_code | String | **参数解释：** 错误码。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~100。    |
   
**状态码：500**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                             |
|:---|:---|:---|
| error_msg  | String | **参数解释：** 错误描述信息。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~255。 |
| error_code | String | **参数解释：** 错误码。详情请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。 **取值范围：** 长度为0\~100。    |
   
#### 请求示例
查询技术栈模板工程
```
GET https://{endpoint}/v2/templates?stack_id=all
```
#### 响应示例
**状态码：200**
OK
```
{
  "templates" : [ {
    "template_id" : 5,
    "name" : "web-java-spring",
    "source" : {
      "location" : "git@codehub.alpha.devcloud.inhuawei.com:Demo00226/JavaWeb.git",
      "type" : "git",
      "parameters" : { }
    },
    "display_name" : "web-java-spring",
    "path" : "/web-java-spring",
    "description" : "A basic example using Spring servlets. The app returns\nvalues entered into a submit form.",
    "project_type" : "maven",
    "region" : "cn-north-7",
    "tags" : [ "maven", "spring", "java", "web" ],
    "arch" : "x86,arm"
  } ],
  "status" : "success"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 403 | Forbidden             |
| 404 | Not Found             |
| 406 | Not Acceptable        |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cloudide/ErrorCode.html)。
