Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-03-29 GMT+08:00

Creación de una respuesta de grupo

Función

Esta API se utiliza para crear una respuesta para un grupo de API.

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/gateway-responses

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener detalles sobre cómo obtener un ID de proyecto, consulte "Apéndice" > "Obtención de un ID de proyecto" en este documento.

instance_id

String

Gateway ID, que se puede obtener de la información de gateway en la consola APIG.

group_id

String

ID de grupo de API.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener llamando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token.

Tabla 3 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

name

No

String

Nombre de la respuesta.

responses

No

Map<String,ResponseInfo>

Definición de tipo de respuesta, que incluye una clave y un valor. Opciones de la clave:

  • AUTH_FAILURE: Error en la autenticación.

  • AUTH_HEADER_MISSING: Falta el origen de identidad.

  • AUTHORIZER_FAILURE: Error en la autenticación personalizada.

  • AUTHORIZER_CONF_FAILURE: se ha producido un error de autorizador personalizado.

  • AUTHORIZER_IDENTITIES_FAILURE: La fuente de identidad del autorizador personalizado no es válida.

  • BACKEND_UNAVAILABLE: el servicio backend no está disponible.

  • BACKEND_TIMEOUT: Se agotó el tiempo de espera de la comunicación con el servicio backend.

  • THROTTLED: La solicitud fue rechazada debido a la limitación de la solicitud.

  • UNAUTHORIZED: La aplicación que está utilizando no ha sido autorizada para llamar a la API.

  • ACCESS_DENIED: Acceso denegado.

  • NOT_FOUND: No se encuentra ninguna API.

  • REQUEST_PARAMETERS_FAILURE: Los parámetros de solicitud son incorrectos.

  • DEFAULT_4XX: Se ha producido otro error 4XX.

  • DEFAULT_5XX: Se ha producido otro error de 5XX.

Cada tipo de error está en formato JSON.

Tabla 4 ResponseInfo

Parámetro

Obligatorio

Tipo

Descripción

status

No

Integer

Código de estado HTTP de la respuesta.

body

No

String

Plantilla de cuerpo de respuesta.

Parámetros de respuesta

Código de estado: 201

Tabla 5 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

name

String

Nombre de la respuesta.

responses

Map<String,ResponseInfoResp>

Definición de tipo de respuesta, que incluye una clave y un valor. Opciones de la clave:

  • AUTH_FAILURE: Error en la autenticación.

  • AUTH_HEADER_MISSING: Falta el origen de identidad.

  • AUTHORIZER_FAILURE: Error en la autenticación personalizada.

  • AUTHORIZER_CONF_FAILURE: se ha producido un error de autorizador personalizado.

  • AUTHORIZER_IDENTITIES_FAILURE: La fuente de identidad del autorizador personalizado no es válida.

  • BACKEND_UNAVAILABLE: el servicio backend no está disponible.

  • BACKEND_TIMEOUT: Se agotó el tiempo de espera de la comunicación con el servicio backend.

  • THROTTLED: La solicitud fue rechazada debido a la limitación de la solicitud.

  • UNAUTHORIZED: La aplicación que está utilizando no ha sido autorizada para llamar a la API.

  • ACCESS_DENIED: Acceso denegado.

  • NOT_FOUND: No se encuentra ninguna API.

  • REQUEST_PARAMETERS_FAILURE: Los parámetros de solicitud son incorrectos.

  • DEFAULT_4XX: Se ha producido otro error 4XX.

  • DEFAULT_5XX: Se ha producido otro error de 5XX.

Cada tipo de error está en formato JSON.

id

String

ID de respuesta.

default

Boolean

Indica si la respuesta de grupo es la respuesta predeterminada.

create_time

String

Hora de creación.

update_time

String

Hora de actualización.

Tabla 6 ResponseInfoResp

Parámetro

Tipo

Descripción

status

Integer

Código de estado HTTP de la respuesta.

body

String

Plantilla de cuerpo de respuesta.

default

Boolean

Indica si la respuesta es la respuesta predeterminada.

Código de estado: 400

Tabla 7 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 401

Tabla 8 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 403

Tabla 9 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 404

Tabla 10 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 500

Tabla 11 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Solicitudes de ejemplo

{
  "name" : "response_demo"
}

Ejemplo de respuestas

Código de estado: 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
    }
  }
}

Código de estado: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"
}

Código de estado: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Código de estado: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Código de estado: 404

Not Found

{
  "error_code" : "APIG.3001",
  "error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist"
}

Código de estado: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Códigos de estado

Código de estado

Descripción

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Códigos de error

Consulte Códigos de error.