Habilitar la integración simulada a través de la consola de API Gateway - Amazon API Gateway

Habilitar la integración simulada a través de la consola de API Gateway

Debe tener un método disponible en API Gateway. Siga las instrucciones en Tutorial: Desarrollo de una API de REST con integración HTTP no de proxy.

  1. Elija un recurso de API y seleccione Crear método.

    Para configurar el método, haga lo siguiente:

    1. En Tipo de método, seleccione un método.

    2. En Tipo de integración, seleccione Simulación.

    3. Elija Crear método.

    4. En la pestaña Solicitud de método, en Configuración de solicitud de método, elija Editar.

    5. Elija Parámetros de cadenas de consulta de URL. Elija Añadir cadena de consulta y, en Nombre, introduzca scope. Este parámetro de consulta determina si el intermediario es o no interno.

    6. Seleccione Guardar.

  2. En la pestaña Respuesta de método, elija Crear respuesta y, a continuación, haga lo siguiente:

    1. En Estado HTTP, escriba 500.

    2. Seleccione Guardar.

  3. En la pestaña Solicitud de integración, en Configuración de la solicitud de integración, seleccione Editar.

  4. Elija Plantillas de mapeo y, a continuación, haga lo siguiente:

    1. Elija Add mapping template (Añadir plantilla de asignación).

    2. En Tipo de contenido, ingrese application/json.

    3. En Cuerpo de la plantilla, introduzca lo siguiente:

      { #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }
    4. Seleccione Guardar.

  5. En la pestaña Respuesta de integración, en Predeterminado: respuesta, elija Editar.

  6. Elija Plantillas de mapeo y, a continuación, haga lo siguiente:

    1. En Tipo de contenido, ingrese application/json.

    2. En Cuerpo de la plantilla, introduzca lo siguiente:

      { "statusCode": 200, "message": "Go ahead without me" }
    3. Seleccione Guardar.

  7. Elija Crear respuesta.

    Para crear una respuesta 500, haga lo siguiente:

    1. En HTTP status regex (Expresión regular de estado HTTP), escriba 5\d{2}.

    2. En Estado de respuesta del método, seleccione 500.

    3. Seleccione Guardar.

    4. En 5\d{2} - Respuesta, seleccione Editar.

    5. Elija Plantillas de mapeo y, a continuación, elija Agregar plantilla de mapeo.

    6. En Tipo de contenido, ingrese application/json.

    7. En Cuerpo de la plantilla, introduzca lo siguiente:

      { "statusCode": 500, "message": "The invoked method is not supported on the API resource." }
    8. Seleccione Guardar.

  8. Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña. Para probar la integración simulada, haga lo siguiente:

    1. Escriba scope=internal en Cadenas de consulta. Seleccione Test (Probar). El resultado de la prueba es:

      Request: /?scope=internal Status: 200 Latency: 26 ms Response Body { "statusCode": 200, "message": "Go ahead without me" } Response Headers {"Content-Type":"application/json"}
    2. Escriba scope=public en Query strings o déjelo en blanco. Seleccione Test (Probar). El resultado de la prueba es:

      Request: / Status: 500 Latency: 16 ms Response Body { "statusCode": 500, "message": "The invoked method is not supported on the API resource." } Response Headers {"Content-Type":"application/json"}

También puede devolver los encabezados de una respuesta de integración simulada agregando primero un encabezado a la respuesta del método y configurando después una asignación de encabezado en la respuesta de integración. De hecho, es así como la consola de API Gateway permite la compatibilidad con CORS, devolviendo los encabezados requeridos por CORS.