Configuración de una respuesta de integración en API Gateway - Amazon API Gateway

Configuración de una respuesta de integración en API Gateway

Para una integración que no sea de proxy, debe configurar al menos una respuesta de integración, y convertirla en la respuesta predeterminada, para pasar el resultado que devuelve el backend al cliente. Puede optar por pasar el resultado como está o transformar los datos de la respuesta de integración en los datos de la respuesta de método si ambos tienen formatos diferentes.

Para una integración de proxy, API Gateway pasa automáticamente la salida del backend al cliente como una respuesta HTTP. No debe configurar la respuesta de integración ni la respuesta del método.

Para configurar una respuesta de integración, debe llevar a cabo las siguientes tareas obligatorias y opcionales:

  1. Especifique el código de estado HTTP de la respuesta del método a la que se asignan los datos de la respuesta de integración. Esto es necesario.

  2. Defina una expresión regular para seleccionar que la salida del backend esté representada por esta respuesta de integración. Si lo deja vacío, la respuesta será la respuesta predeterminada que se utiliza para detectar las respuestas que no se hayan configurado aún.

  3. Si es necesario, declare mapeos compuestos de pares de clave-valor para asignar los parámetros de la respuesta de integración especificados a los parámetros de una respuesta de método determinada.

  4. Si es necesario, añada plantillas de mapeo de cuerpo para transformar las cargas de una respuesta de integración determinada en las cargas de la respuesta de método especificada.

  5. Si es necesario, especifique cómo administrar la conversión de tipo para una carga binaria.

Una respuesta de integración es una respuesta HTTP que encapsula la respuesta del backend. Para un punto de enlace HTTP, la respuesta del backend es una respuesta HTTP. El código de estado de la respuesta de integración puede tomar el código de estado que devuelve el backend, y el cuerpo de la respuesta de integración es la carga que devuelve el backend. Para un punto de enlace Lambda, la respuesta del backend es la salida que devuelve la función de Lambda. Con la integración de Lambda, la salida de la función de Lambda se devuelve como una respuesta 200 OK. La carga puede contener el resultado como datos JSON, incluida una cadena JSON o un objeto JSON, o un mensaje de error como un objeto JSON. Puede asignar una expresión regular a la propiedad selectionPattern para asignar una respuesta de error a la respuesta de error HTTP adecuada. Para obtener más información acerca de la respuesta de error de una función de Lambda, consulte Gestionar los errores de Lambda en API Gateway. Con la integración de proxy de Lambda, la función de Lambda debe devolver una salida con el siguiente formato:

{ statusCode: "...", // a valid HTTP status code headers: { custom-header: "..." // any API-specific custom header }, body: "...", // a JSON string. isBase64Encoded: true|false // for binary support }

No es necesario asignar la respuesta de la función de Lambda a su respuesta HTTP adecuada.

Para devolver el resultado al cliente, configure la respuesta de integración para pasar la respuesta del punto de enlace como está a la correspondiente respuesta de método. También puede asignar los datos de la respuesta del punto de enlace a los datos de la respuesta de método. Entre los datos de respuesta que se pueden asignar se incluyen el código de estado de la respuesta, los parámetros de encabezado de la respuesta y el cuerpo de la respuesta. Si no se define ninguna respuesta de método para el código de estado devuelto, API Gateway devuelve un error 500. Para obtener más información, consulte Uso de una plantilla de mapeo para invalidar códigos de estado y parámetros de solicitud y de respuesta de una API.