
# 创建后端API
#### 功能介绍
在某个实例中创建后端API。
#### URI
POST /v1/{project_id}/apic/instances/{instance_id}/livedata-apis
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                  |
|:---|:---|:---|:---|
| project_id  | 是    | String | 项目ID，获取方式请参见API参考的"附录 \> 获取项目ID"章节。 |
| instance_id | 是    | String | 实例ID                                |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数               | 是否必选 | 参数类型                                                                          | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| name             | 是    | String                                                                        | 后端API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号，且只能以英文、汉字和数字开头。                                                                                                                                                                                                                                                                                                                                                                                                        |
| path             | 是    | String                                                                        | 后端API请求路径。 支持英文、数字、中划线、下划线、点等，且以斜杠（/）开头。 更新后端API时，status=4为后端API的已部署状态，该状态下后端API请求路径不能修改。                                                                                                                                                                                                                                                                                                                                                 |
| method           | 是    | String                                                                        | 后端API请求方法。 支持GET、PUT、POST、DELETE 更新后端API时，status=4为后端API的已部署状态，该状态下后端API请求方法不能修改。                                                                                                                                                                                                                                                                                                                                                         |
| description      | 否    | String                                                                        | 后端API描述。 不支持\<，\>字符                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| version          | 是    | String                                                                        | 后端API版本 支持英文，数字，下划线，中划线，点。                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| content_type     | 是    | String                                                                        | 后端API返回类型 - json   - xml   - stream    |
| api_signature_id | 否    | String                                                                        | 后端API为签名认证时绑定的签名密钥编号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| roma_app_id      | 是    | String                                                                        | 后端API归属的集成应用编号 更新后端API时，status=4为后端API的已部署状态，该状态下后端API归属的集成应用编号不能修改。                                                                                                                                                                                                                                                                                                                                                                                                           |
| return_format    | 否    | Boolean                                                                       | API响应信息是否格式化 true： 对响应信息进行格式化 false：对响应信息格式化不进行格式化                                                                                                                                                                                                                                                                                                                                                                                        |
| parameters       | 否    | Array of [LdApiParameter] objects | 后端API的请求参数列表                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表4LdApiParameter 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| name        | 是    | String  | 参数名称： - 参数位于Headers、 Parameters时，用户自行定义，支持英文、数字、点、中划线、下划线，且需要英文开头，不区分大小写。   - 参数位于Body时候，参数以application/json、application/xml、application/text为名，但实际是以请求body里的键值对作为参数名和参数值，比如请求消息样例，参数名为application/json，参数值为{"table":"apic01","id":"1"}，后端取table：apic01，id：1这两个键值对作为入参。   - 注意：定义参数不要重名，否则会覆盖掉，当Headers、Parameters重复时候，Parameters会被覆盖，当Parameters和Body里的键值对重复时候，Parameters会被覆盖。    |
| in          | 是    | String  | 该参数在调用API时候所放的位置： - Headers ：放于请求头   - Parameters ：放于请求参数   - Body：放于请求体                                                                                                                                                                                                                                                                                                           |
| default     | 否    | String  | 参数默认值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| description | 否    | String  | 参数描述 不支持\<，\>字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| required    | 否    | Boolean | 参数是否必须。true：必须，false：不必须                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数               | 参数类型                                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| name             | String                                                                         | 后端API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号，且只能以英文、汉字和数字开头。                                                                                                                                                                                                                                                                                                                                                                                                         |
| path             | String                                                                         | 后端API请求路径。 支持英文、数字、中划线、下划线、点等，且以斜杠（/）开头。 更新后端API时，status=4为后端API的已部署状态，该状态下后端API请求路径不能修改。                                                                                                                                                                                                                                                                                                                                                  |
| method           | String                                                                         | 后端API请求方法。 支持GET、PUT、POST、DELETE 更新后端API时，status=4为后端API的已部署状态，该状态下后端API请求方法不能修改。                                                                                                                                                                                                                                                                                                                                                          |
| description      | String                                                                         | 后端API描述。 不支持\<，\>字符                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| version          | String                                                                         | 后端API版本 支持英文，数字，下划线，中划线，点。                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| content_type     | String                                                                         | 后端API返回类型 - json   - xml   - stream     |
| api_signature_id | String                                                                         | 后端API为签名认证时绑定的签名密钥编号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| roma_app_id      | String                                                                         | 后端API归属的集成应用编号 更新后端API时，status=4为后端API的已部署状态，该状态下后端API归属的集成应用编号不能修改。                                                                                                                                                                                                                                                                                                                                                                                                            |
| return_format    | Boolean                                                                        | API响应信息是否格式化 true： 对响应信息进行格式化 false：对响应信息格式化不进行格式化                                                                                                                                                                                                                                                                                                                                                                                         |
| parameters       | Array of [LdApiParameter] objects | 后端API的请求参数列表                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| id               | String                                                                         | 后端API编号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| instance         | String                                                                         | 后端API所属实例编号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| type             | String                                                                         | 后端API类型： - data：数据后端   - function： 函数后端                                                                                                                                  |
| status           | Integer                                                                        | 后端API状态： - 1：待开发   - 3：开发中   - 4：已部署    |
| created_time     | String                                                                         | 后端API创建时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| modified_time    | String                                                                         | 后端API修改时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| scripts          | Array of [LdApiScript] objects       | 后端API脚本信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| roma_app_name    | String                                                                         | 后端API归属的集成应用名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表6LdApiParameter 
| 参数          | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| name        | String  | 参数名称： - 参数位于Headers、 Parameters时，用户自行定义，支持英文、数字、点、中划线、下划线，且需要英文开头，不区分大小写。   - 参数位于Body时候，参数以application/json、application/xml、application/text为名，但实际是以请求body里的键值对作为参数名和参数值，比如请求消息样例，参数名为application/json，参数值为{"table":"apic01","id":"1"}，后端取table：apic01，id：1这两个键值对作为入参。   - 注意：定义参数不要重名，否则会覆盖掉，当Headers、Parameters重复时候，Parameters会被覆盖，当Parameters和Body里的键值对重复时候，Parameters会被覆盖。    |
| in          | String  | 该参数在调用API时候所放的位置： - Headers ：放于请求头   - Parameters ：放于请求参数   - Body：放于请求体                                                                                                                                                                                                                                                                                                           |
| default     | String  | 参数默认值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| description | String  | 参数描述 不支持\<，\>字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| required    | Boolean | 参数是否必须。true：必须，false：不必须                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表7LdApiScript 
| 参数                      | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| ds_id                   | String  | 数据源编号，当api_type = data时，必选                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ds_name                 | String  | 数据源名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ds_type                 | String  | 数据源类型： - oracle：oracle数据源类型   - mysql：mysql数据源类型   - mongodb：mongodb数据源类型   - redis：redis数据源类型   - postgresql：postgresql/opengauss数据源类型   - hive：hive数据源类型   - mssql：sqlserver数据源类型   - sqlserver：sqlserver数据源类型   - dws：dws数据源类型   - gauss100：gauss100数据源类型   - zenith：zenith数据源类型   - hana: hana数据源类型   - clickhouse: clickhouse数据源类型   - mrshive: mrshive数据源类型    |
| type                    | String  | 脚本类型 - SQL：sql语句   - SP：存储过程                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| object_name             | String  | 返回对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| content                 | String  | API脚本内容 请对脚本进行base64编码                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| enable_result_paging    | Boolean | 数据脚本是否结果分页，当api_type = data时有效                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| enable_preparestatement | Boolean | 数据脚本是否预编译，当api_type = data时有效                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| created_time            | String  | 后端API脚本创建时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| modified_time           | String  | 后端API脚本修改时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：401**
表9响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：403**
表10响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：404**
表11响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
**状态码：500**
表12响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
   
#### 请求示例
```
{
  "content_type" : "json",
  "method" : "GET",
  "name" : "livedata_api_demo",
  "path" : "/test/function",
  "return_format" : false,
  "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d",
  "version" : "1.0.1"
}
```
#### 响应示例
**状态码：201**
Created
```
{
  "content_type" : "json",
  "created_time" : "2020-09-18T09:25:59Z",
  "description" : "",
  "id" : "bd42841c20184da6bbf457c6d8a06e37",
  "instance" : "f0fa1789-3b76-433b-a787-9892951c620e",
  "method" : "GET",
  "modified_time" : "2020-09-18T09:25:59Z",
  "name" : "livedata_api_demo",
  "parameters" : [ ],
  "path" : "/test/function",
  "return_format" : false,
  "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d",
  "scripts" : [ ],
  "status" : 1,
  "type" : "",
  "version" : "1.0.1"
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
Forbidden
```
{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}
```
**状态码：404**
Not Found
```
{
  "error_code" : "APIG.3030",
  "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"
}
```
**状态码：500**
Internal Server Error
```
{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-roma/ErrorCode.html)。
