
# 创建微服务 - CreateMicroservice
#### 功能介绍
创建微服务
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-pipeline/pipeline_03_0006.html)。
#### URI
POST /v2/{cloudProjectId}/component/create
表1路径参数 
| 参数             | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| cloudProjectId | 是    | String | 项目ID |
   
#### 请求参数
表2请求Body参数 
| 参数        | 是否必选 | 参数类型                                                                             | 描述               |
|:---|:---|:---|:---|
| name      | 是    | String                                                                           | 名称               |
| type      | 是    | String                                                                           | 类型               |
| parent_id | 是    | String                                                                           | 父ID，需要配置父微服务时使用。 |
| desc      | 是    | String                                                                           | 描述               |
| repos     | 是    | Array of [ComponentRepoVO] objects | 仓库               |
   
 表3ComponentRepoVO 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                   |
|:---|:---|:---|:---|
| type        | 是    | String | **参数解释**： 仓库类型。 **取值范围**： 不涉及。     |
| repo_id     | 是    | String | **参数解释**： Repo仓库ID。 **取值范围**： 不涉及。 |
| http_url    | 是    | String | **参数解释**： 仓库HTTP地址。 **取值范围**： 不涉及。 |
| git_url     | 是    | String | **参数解释**： 仓库GIT地址。 **取值范围**： 不涉及。  |
| branch      | 是    | String | **参数解释**： 分支。 **取值范围**： 不涉及。       |
| language    | 是    | String | **参数解释**： 语言。 **取值范围**： 不涉及。       |
| endpoint_id | 否    | String | **参数解释**： 扩展点ID。 **取值范围**： 不涉及。    |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数               | 参数类型                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| id               | String                                                                            | **参数解释**： 微服务ID。 **取值范围**： 32位字符，由数字和字母组成。                                                                                                                                                                                                                                                                                                                              |
| name             | String                                                                            | **参数解释**： 微服务名称。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| type             | String                                                                            | **参数解释**： 微服务类型。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| description      | String                                                                            | **参数解释**： 微服务描述。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| status           | String                                                                            | **参数解释**： 微服务状态。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| parent_id        | String                                                                            | **参数解释**： 父ID，需要配置父微服务时使用。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                               |
| cloud_project_id | String                                                                            | **参数解释**： 项目ID。 **取值范围**： 32位字符，由数字和字母组成。                                                                                                                                                                                                                                                                                                                               |
| repos            | Array of [ComponentRepoVO] objects | **参数解释**： 微服务代码仓。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                        |
| is_followed      | Boolean                                                                           | **参数解释**： 组件是否被收藏。 **取值范围**： - true：收藏。   - false：未收藏。    |
| creator_id       | String                                                                            | **参数解释**： 创建人ID。 **取值范围**： 32位字符，由数字和字母组成。                                                                                                                                                                                                                                                                                                                              |
| creator_name     | String                                                                            | **参数解释**： 创建人名称。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| create_time      | String                                                                            | **参数解释**： 创建时间。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                          |
| updater_id       | String                                                                            | **参数解释**： 更新人ID。 **取值范围**： 32位字符，由数字和字母组成。                                                                                                                                                                                                                                                                                                                              |
| updater_name     | String                                                                            | **参数解释**： 更新人名称。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                         |
| update_time      | String                                                                            | **参数解释**： 更新时间。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                          |
| is_crmodel       | Boolean                                                                           | **参数解释**： 是否cr模式。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                                        |
   
 表5ComponentRepoVO 
| 参数          | 参数类型   | 描述                                                                                                                                                   |
|:---|:---|:---|
| type        | String | **参数解释**： 仓库类型。 **取值范围**： 不涉及。     |
| repo_id     | String | **参数解释**： Repo仓库ID。 **取值范围**： 不涉及。 |
| http_url    | String | **参数解释**： 仓库HTTP地址。 **取值范围**： 不涉及。 |
| git_url     | String | **参数解释**： 仓库GIT地址。 **取值范围**： 不涉及。  |
| branch      | String | **参数解释**： 分支。 **取值范围**： 不涉及。       |
| language    | String | **参数解释**： 语言。 **取值范围**： 不涉及。       |
| endpoint_id | String | **参数解释**： 扩展点ID。 **取值范围**： 不涉及。    |
   
#### 请求示例
```
POST https://{endpoint}/v2/2d09f712e9504b61b034cc8f40e475a8/component/create
{
  "name" : "aaa",
  "type" : "microservice",
  "parent_id" : null,
  "desc" : "",
  "repos" : [ {
    "type" : "codehub",
    "repo_id" : "985241",
    "http_url" : "https://example.com/test00001/maven.git",
    "git_url" : "git@example.com:test00001/maven.git",
    "branch" : "master",
    "language" : "java",
    "endpoint_id" : ""
  } ]
}
```
#### 响应示例
**状态码：200**
创建微服务响应体
```
{
  "id" : "fcefc80dd6a844d89fd12031fd83bac0",
  "name" : "aaa",
  "type" : "microservice",
  "description" : "",
  "status" : "active",
  "parent_id" : null,
  "cloud_project_id" : "2d09f712e9504b61b034cc8f40e475a8",
  "repos" : [ {
    "type" : "codehub",
    "repo_id" : "985241",
    "http_url" : "https://codehub.devcloud.{region}.example.com/2d09f712e9504b61b034cc8f40e475a8/javaweb.git",
    "git_url" : "git@codehub.devcloud.{region}.example.com:2d09f712e9504b61b034cc8f40e475a8/javaweb.git",
    "branch" : "master",
    "language" : "java",
    "endpoint_id" : ""
  } ],
  "is_followed" : null,
  "creator_id" : "05d8ca972f114765a8984795a8aa4d41",
  "creator_name" : "p_test_north5",
  "create_time" : "1719321282",
  "updater_id" : "05d8ca972f114765a8984795a8aa4d41",
  "updater_name" : "p_test_north5",
  "update_time" : "1719321282"
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 创建微服务响应体 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-pipeline/ErrorCode.html)。
