
# 发布API
#### 功能介绍
将一个指定的API发布到一个指定的环境，API只有发布后，才能够被调用，且只能在该环境上才能被调用。未发布的API无法被调用。
#### URI
HTTP/HTTPS请求方法以及URI如下表所示。
表1HTTP/HTTPS请求方法以及URI 
| 请求方法 | URI                               |
|:---|:---|
| POST | /v1.0/apigw/apis/publish/{api_id} |
   
URI中的参数说明如下表所示。
表2参数说明 
| 名称     | 是否必选 | 类型     | 说明     |
|:---|:---|:---|:---|
| api_id | 是    | String | API的编号 |
   
#### 请求消息
表3参数说明 
| 参数     | 是否必选 | 类型     | 说明                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| env_id | 是    | String | 环境的编号，即：API需要发布到哪个环境                                                                                                                                                                                                       |
| remark | 否    | String | 对本次发布动作的简述 字符长度不超过255 说明： 中文字符必须为UTF-8或者unicode编码。 |
   
请求消息样例：
```
{
"env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID",
"remark": "发布到生产环境"
}
```
#### 响应消息
表4参数说明 
| 名称           | 类型        | 说明      |
|:---|:---|:---|
| publish_id   | String    | 发布记录的ID |
| api_id       | String    | API编号   |
| env_id       | String    | 发布的环境编号 |
| remark       | String    | 发布描述    |
| publish_time | Timestamp | 发布时间    |
| version_id   | String    | 版本号     |
   
响应消息样例：
```
{
  "publish_id": "5b729aa252764739be2c37ef0d66dc63",
  "api_id": "7addcd00cfab433984b1d8bf2fe08aaa",
  "env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID",
  "version_id": "3d9dcb733ba34352b0d02f85fd16b026",
  "remark": "string",
  "publish_time": "2018-07-26T13:18:04.1079916Z"
}
```
#### 状态码
表5返回消息说明 
| 状态码 | 说明                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Server Internal Error |
   
