Configuración de un método con la consola de API Gateway - Amazon API Gateway

Configuración de un método con la consola de API Gateway

Al crear un método mediante la consola de la API de REST, se configuran la solicitud de integración y la solicitud del método. De forma predeterminada, API Gateway crea la respuesta del método 200 para el método.

Las siguientes instrucciones muestran cómo editar la configuración de la solicitud de método y cómo crear respuestas de método adicionales para el método.

Edición de una solicitud de método de API Gateway en la consola de API Gateway

Estas instrucciones presuponen que ya ha creado la solicitud de método. Para obtener más información sobre cómo crear un método, consulte Configuración de una solicitud de integración de la API mediante la consola de API Gateway.

  1. En el panel Recursos, elija el método y, a continuación, elija la pestaña Solicitud de método.

  2. En la sección Configuración de solicitud de método, elija Editar.

  3. En Autorización, seleccione un autorizador disponible.

    1. Para habilitar el acceso abierto al método a cualquier usuario, elija Ninguno. Este paso se puede omitir si el ajuste predeterminado no se ha cambiado.

    2. Para utilizar permisos de IAM para controlar el acceso de clientes al método, seleccione AWS_IAM. Con esta opción, solo los usuarios de los roles de IAM con la política correcta de IAM asociada pueden llamar a este método.

      Para crear el rol de IAM, especifique una política de acceso con un formato como el siguiente:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "resource-statement" ] } ] }

      En esta política de acceso, resource-statement es el ARN del método. Puede encontrar el ARN del método mediante la selección del método en la página de Recursos. Para obtener más información acerca de cómo establecer los permisos de IAM, consulte Control del acceso a una API con permisos de IAM.

      Para crear un rol de IAM, puede adaptar las instrucciones del siguiente tutorial, Creación de una función de Lambda para la integración de Lambda no de proxy.

    3. Para usar un autorizador de Lambda, seleccione un token o un autorizador de solicitudes. Cree un autorizador de Lambda para que esta opción se muestre en el menú desplegable. Para obtener más información sobre cómo crear un autorizador de Lambda, consulte Uso de autorizadores Lambda de API Gateway.

    4. Para utilizar un grupo de usuarios de Amazon Cognito, elija un grupo de usuarios disponible en Cognito user pool authorizers (Autorizadores de grupos de usuarios de Cognito). Cree un grupo de usuarios en Amazon Cognito y un autorizador de grupo de usuarios de Amazon Cognito en API Gateway para que esta opción se muestre en el menú desplegable. Para obtener información sobre cómo crear un autorizador de grupo de usuarios de Amazon Cognito, consulte Control del acceso a una API de REST con grupos de usuarios de Amazon Cognito como autorizador.

  4. Para especificar la validación de la solicitud, seleccione un valor en el menú desplegable Validador de solicitudes. Para desactivar la validación de solicitudes, seleccione Ninguna. Para obtener más información acerca de cada opción, consulte Uso de la validación de solicitudes en API Gateway.

  5. Seleccione Clave de API obligatoria para que se requiera una clave de API. Cuando se habilita, las claves de API se utilizan en planes de uso para limitar el tráfico del cliente.

  6. De forma opcional, para asignar un nombre de operación en un SDK de Java de esta API, generado por API Gateway, ingrese un nombre en Nombre de operación. Por ejemplo, para la solicitud de método de GET /pets/{petId}, el nombre de operación de SDK de Java correspondiente es por defecto GetPetsPetId. Este nombre se crea a partir del verbo HTTP del método (GET) y los nombres de variables de la ruta de recursos (Pets y PetId). Si establece el nombre de operación como getPetById, el nombre de operación de SDK pasa a ser GetPetById.

  7. Para añadir un parámetro de cadena de consulta al método, haga lo siguiente:

    1. Elija Parámetros de cadenas de consulta de URL y, a continuación, elija Agregar cadena de consulta.

    2. En Nombre, escriba el nombre del parámetro de cadena de consulta.

    3. Seleccione Obligatorio si el parámetro de cadena de consulta recién creado debe utilizarse para la validación de solicitudes. Para obtener más información sobre la validación de solicitud, consulte Uso de la validación de solicitudes en API Gateway.

    4. Seleccione Almacenamiento en caché si el parámetro de cadena de consulta recién creado va a utilizarse como parte de una clave de almacenamiento en caché. Para obtener más información acerca del almacenamiento en caché, consulte Usar parámetros de método o integración como claves de caché para indexar las respuestas almacenadas en caché.

    Para eliminar el parámetro de cadena de consulta, seleccione Eliminar.

  8. Para añadir un parámetro de encabezado al método, haga lo siguiente:

    1. Elija Encabezados de solicitud HTTP y, a continuación, elija Agregar encabezado.

    2. En Nombre, ingrese el nombre del encabezado.

    3. Seleccione Obligatorio si el encabezado recién creado debe utilizarse para la validación de solicitudes. Para obtener más información sobre la validación de solicitud, consulte Uso de la validación de solicitudes en API Gateway.

    4. Seleccione Almacenamiento en caché si el encabezado recién creado va a utilizarse como parte de una clave de almacenamiento en caché. Para obtener más información acerca del almacenamiento en caché, consulte Usar parámetros de método o integración como claves de caché para indexar las respuestas almacenadas en caché.

    Para eliminar el encabezado, elija Eliminar.

  9. Para declarar el formato de carga de una solicitud de método con el verbo HTTP POST, PUT o PATCH, elija Cuerpo de la solicitud y realice lo siguiente:

    1. Elija Add model (Añadir modelo).

    2. En Content-type, escriba un tipo de MIME (por ejemplo, application/json).

    3. En Modelo, seleccione un modelo en el menú desplegable. Los modelos disponibles actualmente para la API incluyen los modelos predeterminados Empty y Error, así como cualquier modelo que haya creado y agregado a la colección Models de la API. Para obtener más información acerca de la creación de un modelo, consulte Comprensión de los modelos de datos.

      nota

      El modelo es útil para informar al cliente del formato de datos esperado de una carga. Resulta útil para generar una plantilla de asignación de esqueleto. Es importante para generar un SDK con establecimiento inflexible de tipos de la API en idiomas como Java, C #, Objective-C y Swift. Solo es necesario si se habilita la validación de solicitudes frente a la carga.

  10. Seleccione Guardar.

Configurar una respuesta de método de API Gateway en la consola de API Gateway

Un método de API puede tener una o más respuestas. Cada respuesta se indexa mediante su código de estado HTTP. De forma predeterminada, la consola de API Gateway agrega la respuesta 200 a las respuestas de método. Puede modificarla, por ejemplo, para que el método devuelva 201 en su lugar. Puede añadir otras respuestas, por ejemplo, 409 para la denegación de acceso y 500 para las variables de etapa sin inicializar utilizadas.

Para utilizar la consola de API Gateway para modificar, eliminar o agregar una respuesta a un método de API, siga estas instrucciones.

  1. En el panel de Recursos, elija el método y, a continuación, elija la pestaña Respuesta de método. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

  2. En la sección Configuración de respuesta del método, elija Crear respuesta.

  3. Para Código de estado HTTP, ingrese un código de estado HTTP como 200, 400 o 500.

    Si una respuesta devuelta del backend no tiene una respuesta de método correspondiente definida, API Gateway no puede devolver la respuesta al cliente. En su lugar, devuelve una respuesta de error 500 Internal server error.

  4. Elija Add header (Añadir encabezado).

  5. En Nombre del encabezado, escriba un nombre.

    Para devolver un encabezado del backend al cliente, agregue el encabezado en la respuesta del método.

  6. Elija Agregar modelo para definir un formato del cuerpo de la respuesta del método.

    Ingrese el tipo de medio de la carga de respuesta de Tipo de contenido y elija un modelo en el menú desplegable Modelos.

  7. Seleccione Guardar.

Para modificar una respuesta existente, navegue hasta la respuesta de su método y, a continuación, elija Editar. Para cambiar el Código de estado HTTP, elija Eliminar y cree una nueva respuesta de método.

Para cada respuesta que devuelve el backend, debe tener una respuesta compatible configurada como respuesta de método. Sin embargo, los encabezados de respuesta de método de configuración y el modelo de carga son opcionales, a menos que asigne el resultado del backend a la respuesta de método antes de volver al cliente. Además, un modelo de carga de respuesta de método es importante si está generando un SDK con establecimiento inflexible de tipos para su API.