Comportamentos de passagem direta de integração
Com integrações não proxy, quando uma solicitação de método contém uma carga, e o cabeçalho Content-Type
não corresponde a nenhum modelo de mapeamento especificado ou nenhum modelo de mapeamento está definido, você pode optar por repassar a carga da solicitação fornecida pelo cliente por meio da solicitação de integração para o back-end sem transformação. O processo é conhecido como passagem direta de integração.
Para integrações de proxy, o API Gateway repassa toda a solicitação para o backend, e você não tem a opção de modificar os comportamentos de passagem.
O comportamento de passagem direta real de uma solicitação de entrada é determinado pela opção que você escolhe para um modelo de mapeamento especificado, durante a configuração da solicitação de integração, e pelo cabeçalho Content-Type que um cliente define na solicitação de entrada. Existem três opções:
- Quando nenhum modelo corresponder ao cabeçalho Content-Type da solicitação
Escolha essa opção se desejar que o corpo da solicitação de método passe a solicitação de integração para o back-end sem transformação quando o tipo de conteúdo da solicitação de método não corresponder a nenhum dos tipos de conteúdo associados aos modelos de mapeamento.
Ao chamar a API do API Gateway, escolha essa opção definindo
WHEN_NO_MATCH
como o valor da propriedadepassthroughBehavior
na Integração.- Quando não há modelos definidos (recomendado)
-
Escolha essa opção se desejar que o corpo da solicitação de método passe a solicitação de integração para o back-end sem transformação quando nenhum modelo de mapeamento estiver definido na solicitação de integração. Se um modelo for definido quando essa opção for selecionada, a solicitação de método de um tipo de conteúdo não mapeado será rejeitada com uma resposta HTTP 415 Tipo de mídia sem suporte.
Ao chamar a API do API Gateway, escolha essa opção definindo
WHEN_NO_TEMPLATES
como o valor da propriedadepassthroughBehavior
na Integração. - Nunca
-
Escolha essa opção se não desejar que o corpo da solicitação de método passe a solicitação de integração para o back-end sem transformação quando nenhum modelo de mapeamento estiver definido na solicitação de integração. Se um modelo for definido quando essa opção for selecionada, a solicitação de método de um tipo de conteúdo não mapeado será rejeitada com uma resposta HTTP 415 Tipo de mídia sem suporte.
Ao chamar a API do API Gateway, escolha essa opção definindo
NEVER
como o valor da propriedadepassthroughBehavior
na Integração.
Os exemplos a seguir ilustram os possíveis comportamentos de passagem direta.
Exemplo 1: um modelo de mapeamento é definido na solicitação de integração para o tipo de conteúdo application/json
.
Cabeçalho Content-Type\opção de passagem direta selecionada | WHEN_NO_MATCH |
WHEN_NO_TEMPLATES |
NEVER |
---|---|---|---|
Nenhum (padrão para application/json ) |
A carga da solicitação é transformada usando o modelo. | A carga da solicitação é transformada usando o modelo. | A carga da solicitação é transformada usando o modelo. |
application/json |
A carga da solicitação é transformada usando o modelo. | A carga da solicitação é transformada usando o modelo. | A carga da solicitação é transformada usando o modelo. |
application/xml |
A carga da solicitação não é transformada e é enviada ao backend no estado em que se encontra. | A solicitação é rejeitada com uma resposta HTTP 415 Unsupported Media
Type . |
A solicitação é rejeitada com uma resposta HTTP 415 Unsupported Media
Type . |
Exemplo 2: um modelo de mapeamento é definido na solicitação de integração para o tipo de conteúdo application/xml
.
Cabeçalho Content-Type\opção de passagem direta selecionada | WHEN_NO_MATCH |
WHEN_NO_TEMPLATES |
NEVER |
---|---|---|---|
Nenhum (padrão para application/json ) |
A carga da solicitação não é transformada e é enviada ao backend no estado em que se encontra. | A solicitação é rejeitada com uma resposta HTTP 415 Unsupported Media
Type . |
A solicitação é rejeitada com uma resposta HTTP 415 Unsupported Media
Type . |
application/json |
A carga da solicitação não é transformada e é enviada ao backend no estado em que se encontra. | A solicitação é rejeitada com uma resposta HTTP 415 Unsupported Media
Type . |
A solicitação é rejeitada com uma resposta HTTP 415 Unsupported Media
Type . |
application/xml |
A carga da solicitação é transformada usando o modelo. | A carga da solicitação é transformada usando o modelo. | A carga da solicitação é transformada usando o modelo. |