Reviewed-by: Topchii, Maria <mtopchii@noreply.gitea.eco.tsi-dev.otc-service.com> Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
47 KiB
Creating a Group Response
Function
This API is used to create a response for an API group.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/gateway-responses
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Obtaining a Project ID. |
instance_id |
Yes |
String |
Gateway ID, which can be obtained from the gateway information on the APIG console. |
group_id |
Yes |
String |
API group ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
X-Auth-Token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
name |
Yes |
String |
Response name. Enter 1 to 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
responses |
No |
Map<String,ResponseInfo> |
Response type definition. key indicates the error type. Options of key:
Each error type is in JSON format. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
status |
No |
Integer |
HTTP status code of the response. The value ranges from 200 to 599, but cannot be 444. |
body |
No |
String |
Response body template. |
headers |
No |
Array of ResponseInfoHeader objects |
Custom response header. Array Length: 0 - 10 |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
key |
No |
String |
Key of the custom group response header, which can contain 1 to 128 characters of letters, digits, and hyphens (-). |
value |
No |
String |
Value of the custom group response header, which is a string of 1 to 1,024 characters. Minimum: 1 Maximum: 1024 |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
|---|---|---|
name |
String |
Response name. |
responses |
Map<String,ResponseInfoResp> |
Response type definition. key indicates the error type. Options of key:
Each error type is in JSON format. |
id |
String |
Response ID. |
default |
Boolean |
Indicates whether the group response is the default response. |
create_time |
String |
Creation time. |
update_time |
String |
Update time. |
Parameter |
Type |
Description |
|---|---|---|
status |
Integer |
HTTP status code of the response. The value ranges from 200 to 599, but cannot be 444. |
body |
String |
Response body template. |
headers |
Array of ResponseInfoHeader objects |
Custom response header. Array Length: 0 - 10 |
default |
Boolean |
Indicates whether the response is the default response. |
Parameter |
Type |
Description |
|---|---|---|
key |
String |
Key of the custom group response header, which can contain 1 to 128 characters of letters, digits, and hyphens (-). |
value |
String |
Value of the custom group response header, which is a string of 1 to 1,024 characters. Minimum: 1 Maximum: 1024 |
Status code: 400
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 401
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 403
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 404
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
|---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
Creating a response for an API group
{
"name" : "response_demo"
}
Example Responses
Status code: 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
}
}
}
Status code: 400
Bad Request
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}
Status code: 401
Unauthorized
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
Status code: 403
Forbidden
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
}
Status code: 404
Not Found
{
"error_code" : "APIG.3001",
"error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist"
}
Status code: 500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
}
Status Codes
Status Code |
Description |
|---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.