创建分组自定义响应
功能介绍
新增分组下自定义响应
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/gateway-responses
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID,在API网关控制台的“实例信息”中获取。 |
group_id |
是 |
String |
分组的编号 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
响应名称。支持英文、数字、下划线、中划线,1-64个字符。 |
responses |
否 |
Map<String,ResponseInfo> |
错误类型的响应定义,其中key为错误类型。key的枚举值为:
每项错误类型均为一个JSON体 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
status |
否 |
Integer |
响应的HTTP状态码。范围为200-599,但不允许为444。 |
body |
否 |
String |
响应的Body模板 |
headers |
否 |
Array of ResponseInfoHeader objects |
自定义的响应头 数组长度:0 - 10 |
响应参数
状态码:201
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
响应名称 |
responses |
Map<String,ResponseInfoResp> |
错误类型的响应定义,其中key为错误类型。key的枚举值为:
每项错误类型均为一个JSON体 |
id |
String |
响应ID |
default |
Boolean |
是否为分组默认响应 |
create_time |
String |
创建时间 |
update_time |
String |
修改时间 |
参数 |
参数类型 |
描述 |
---|---|---|
status |
Integer |
响应的HTTP状态码。范围为200-599,但不允许为444。 |
body |
String |
响应的Body模板 |
headers |
Array of ResponseInfoHeader objects |
自定义的响应头 数组长度:0 - 10 |
default |
Boolean |
是否为默认响应 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
分组自定义响应的响应头的key,支持英文字母、数字和中划线,长度为1到128位 |
value |
String |
分组自定义响应的响应头的value,为长度为1到1024位的字符串 最小长度:1 最大长度:1024 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码:401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码:403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码:404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码:500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
请求示例
创建分组自定义响应
{
"name" : "response_demo"
}
响应示例
状态码:201
Created
{
"create_time" : "2020-08-12T14:52:02.829753306+08:00",
"update_time" : "2020-08-12T14:52:02.829753306+08:00",
"default" : false,
"id" : "e839b367e10f4ab19d1c5008e476b83a",
"name" : "response_demo",
"responses" : {
"ACCESS_DENIED" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 403
},
"AUTHORIZER_CONF_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 500
},
"AUTHORIZER_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 500
},
"AUTHORIZER_IDENTITIES_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 401
},
"AUTH_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 401
},
"AUTH_HEADER_MISSING" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 401
},
"BACKEND_TIMEOUT" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 504
},
"BACKEND_UNAVAILABLE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 502
},
"DEFAULT_4XX" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true
},
"DEFAULT_5XX" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true
},
"NOT_FOUND" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 404
},
"REQUEST_PARAMETERS_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 400
},
"THROTTLED" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 429
},
"UNAUTHORIZED" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 401
},
"THIRD_AUTH_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 401
},
"THIRD_AUTH_IDENTITIES_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 401
},
"THIRD_AUTH_CONF_FAILURE" : {
"body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}",
"default" : true,
"status" : 500
}
}
}
状态码: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.3001",
"error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist"
}
状态码: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 |
错误码
请参见错误码。