Debe tener un método disponible en API Gateway. Siga las instrucciones en Tutorial: Creación de una API de REST con integración no de proxy HTTP.
-
Elija un recurso de API y seleccione Crear método.
Para configurar el método, haga lo siguiente:
En Tipo de método, seleccione un método.
En Tipo de integración, seleccione Simulación.
Elija Crear método.
En la pestaña Solicitud de método, en Configuración de solicitud de método, elija Editar.
-
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. -
Seleccione Guardar.
-
En la pestaña Respuesta de método, elija Crear respuesta y, a continuación, haga lo siguiente:
-
En Estado HTTP, escriba
500
. Seleccione Guardar.
-
-
En la pestaña Solicitud de integración, en Configuración de la solicitud de integración, seleccione Editar.
-
Elija Plantillas de mapeo y, a continuación, haga lo siguiente:
Elija Add mapping template (Añadir plantilla de asignación).
En Tipo de contenido, ingrese
application/json
.En Cuerpo de la plantilla, introduzca lo siguiente:
{ #if( $input.params('scope') == "internal" ) "statusCode": 200 #else "statusCode": 500 #end }
Seleccione Guardar.
-
En la pestaña Respuesta de integración, en Predeterminado: respuesta, elija Editar.
-
Elija Plantillas de mapeo y, a continuación, haga lo siguiente:
En Tipo de contenido, ingrese
application/json
.En Cuerpo de la plantilla, introduzca lo siguiente:
{ "statusCode": 200, "message": "Go ahead without me" }
Seleccione Guardar.
-
Elija Crear respuesta.
Para crear una respuesta 500, haga lo siguiente:
-
En HTTP status regex (Expresión regular de estado HTTP), escriba
5\d{2}
. En Estado de respuesta del método, seleccione
500
.Seleccione Guardar.
-
En 5\d{2} - Respuesta, seleccione Editar.
Elija Plantillas de mapeo y, a continuación, elija Agregar plantilla de mapeo.
En Tipo de contenido, ingrese
application/json
.En Cuerpo de la plantilla, introduzca lo siguiente:
{ "statusCode": 500, "message": "The invoked method is not supported on the API resource." }
Seleccione Guardar.
-
-
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:
-
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"}
-
Escriba
scope=public
enQuery 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.