Comportamiento de solicitud de método para cargas útiles sin plantillas de asignación para las API de REST en API Gateway
Si la solicitud de método tiene una carga útil y no tiene una plantilla de asignación definida para el encabezado Content-Type
, puede elegir pasar la carga útil de la solicitud suministrada por el cliente a través de la solicitud de integración al backend sin transformación. Este proceso se denomina "acceso directo a la integración".
El comportamiento de acceso directo real de una solicitud entrante viene determinado por esta configuración. Hay tres opciones:
- Cuando ninguna plantilla coincide con el encabezado Tipo de contenido solicitado
Elija esta opción si desea que el cuerpo de la solicitud de método se transmita a través de la solicitud de integración al backend sin transformación cuando el tipo de contenido de la solicitud de método no coincida con ningún tipo de contenido asociado a las plantillas de mapeo.
Al llamar a la API de API Gateway, se elige esta opción estableciendo
WHEN_NO_MATCH
como el valor de la propiedadpassthroughBehavior
en Integración.- Cuando no hay plantillas definidas (recomendado)
-
Elija esta opción si desea que el cuerpo de la solicitud de método se transmita a través de la solicitud de integración al backend sin transformación cuando no se haya definido ninguna plantilla de mapeo en la solicitud de integración. Si se define una plantilla cuando se selecciona esta opción, la solicitud de método con una carga útil y un tipo de contenido que no coincida con ninguna plantilla de asignación definida se rechazará con una respuesta HTTP 415 Tipo de medio no admitido.
Al llamar a la API de API Gateway, se elige esta opción estableciendo
WHEN_NO_TEMPLATES
como el valor de la propiedadpassthroughBehavior
en Integración. - Nunca
-
Elija esta opción si no desea que el cuerpo de la solicitud de método se transmita a través de la solicitud de integración al backend sin transformación cuando no se haya definido ninguna plantilla de mapeo en la solicitud de integración. Si se define una plantilla cuando esta opción está seleccionada, la solicitud de método de un tipo de contenido sin asignar se rechazará con una respuesta HTTP 415 Unsupported Media Type.
Al llamar a la API de API Gateway, se elige esta opción estableciendo
NEVER
como el valor de la propiedadpassthroughBehavior
en Integración.
Los siguientes ejemplos muestran los posibles comportamientos del acceso directo.
Ejemplo 1: Se define una plantilla de asignación en la solicitud de integración para el tipo de contenido application/json
.
content-type | Opción de acceso directo | Comportamiento |
---|---|---|
Ninguno El valor predeterminado de API Gateway es |
WHEN_NO_MATCH |
La carga de solicitud se transforma mediante la plantilla. |
Ninguno El valor predeterminado de API Gateway es |
WHEN_NO_TEMPLATES |
La carga de solicitud se transforma mediante la plantilla. |
Ninguno El valor predeterminado de API Gateway es |
NEVER |
La carga de solicitud se transforma mediante la plantilla. |
application/json |
WHEN_NO_MATCH |
La carga de solicitud se transforma mediante la plantilla. |
application/json |
WHEN_NO_TEMPLATES |
La carga de solicitud se transforma mediante la plantilla. |
application/json |
NEVER |
La carga de solicitud se transforma mediante la plantilla. |
application/xml |
WHEN_NO_MATCH |
La carga de solicitud no se transforma y se envía al backend tal como está. |
application/xml |
WHEN_NO_TEMPLATES |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
application/xml |
NEVER |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
Ejemplo 2: Se define una plantilla de asignación en la solicitud de integración para el tipo de contenido application/xml
.
Content-type | Opción de acceso directo | Comportamiento |
---|---|---|
Ninguno El valor predeterminado de API Gateway es |
WHEN_NO_MATCH |
La carga de solicitud no se transforma y se envía al backend tal como está. |
Ninguno El valor predeterminado de API Gateway es |
WHEN_NO_TEMPLATES |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
Ninguno El valor predeterminado de API Gateway es |
NEVER |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
application/json |
WHEN_NO_MATCH |
La carga de solicitud no se transforma y se envía al backend tal como está. |
application/json |
WHEN_NO_TEMPLATES |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
application/json |
NEVER |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
application/xml |
WHEN_NO_MATCH |
La carga de solicitud se transforma mediante la plantilla. |
application/xml |
WHEN_NO_TEMPLATES |
La carga de solicitud se transforma mediante la plantilla. |
application/xml |
NEVER |
La carga de solicitud se transforma mediante la plantilla. |
Ejemplo 3: no se han definido plantillas de asignación en la solicitud de integración.
Content-type | Opción de acceso directo | Comportamiento |
---|---|---|
Ninguno El valor predeterminado de API Gateway es |
WHEN_NO_MATCH |
La carga de solicitud no se transforma y se envía al backend tal como está. |
Ninguno El valor predeterminado de API Gateway es |
WHEN_NO_TEMPLATES |
La carga de solicitud no se transforma y se envía al backend tal como está. |
Ninguno El valor predeterminado de API Gateway es |
NEVER |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
application/json |
WHEN_NO_MATCH |
La carga de solicitud no se transforma y se envía al backend tal como está. |
application/json |
WHEN_NO_TEMPLATES |
La carga de solicitud no se transforma y se envía al backend tal como está. |
application/json |
NEVER |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |
application/xml |
WHEN_NO_MATCH |
La carga de solicitud no se transforma y se envía al backend tal como está. |
application/xml |
WHEN_NO_TEMPLATES |
La carga de solicitud no se transforma y se envía al backend tal como está. |
application/xml |
NEVER |
La solicitud se rechaza con una respuesta HTTP 415 Unsupported Media
Type . |