Comportamenti passthrough di integrazione - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Comportamenti passthrough di integrazione

Con le integrazioni non proxy, quando una richiesta di metodo porta un payload e l'intestazione Content-Type non corrisponde a nessun modello di mappatura specificato o non è stato definito un modello di mappatura, puoi decidere di passare il payload della richiesta fornito dal client attraverso la richiesta di integrazione al back-end senza trasformazione. Il processo è noto come passthrough di integrazione.

Per le integrazioni proxy, API Gateway trasmette l'intera richiesta al backend e non è possibile modificare i comportamenti del passthrough.

Il comportamento di passthrough utilizzato per una richiesta in entrata è definito in base all'opzione scelta per un modello di mappatura specifico, durante la configurazione della richiesta di integrazione e dall'intestazione del Tipo di contenuto che un client ha impostato nella richiesta in entrata. Sono disponibili tre opzioni:

Opzione Quando nessun modello corrisponde all'intestazione Content-Type della richiesta

Selezionare questa opzione se si desidera che venga eseguito il passthrough del corpo della richiesta di metodo nella richiesta di integrazione al back-end senza trasformazione quando il tipo di contenuto della richiesta di metodo non corrisponde ai tipi di contenuto associati ai modelli di mappatura.

Quando si chiama il API GatewayAPI, si sceglie questa opzione impostandola WHEN_NO_MATCH come valore della passthroughBehavior proprietà sull'integrazione.

Quando non ci sono modelli definiti (consigliato)

Selezionare questa opzione se si desidera che venga eseguito il passthrough del corpo della richiesta di metodo nella richiesta di integrazione al back-end senza trasformazione quando nella richiesta di integrazione non è stato definito un modello di mappatura. Se viene definito un modello quando viene selezionata questa opzione, la richiesta del metodo di un tipo di contenuto non mappato verrà rifiutata con una risposta HTTP 415 Unsupported Media Type.

Quando si chiama il API GatewayAPI, si sceglie questa opzione impostandola WHEN_NO_TEMPLATES come valore della passthroughBehavior proprietà nell'Integrazione.

Mai

Selezionare questa opzione se non si desidera che venga eseguito il passthrough del corpo della richiesta di metodo nella richiesta di integrazione al back-end senza trasformazione quando nella richiesta di integrazione non è stato definito un modello di mappatura. Se viene definito un modello quando viene selezionata questa opzione, la richiesta del metodo di un tipo di contenuto non mappato verrà rifiutata con una risposta HTTP 415 Unsupported Media Type.

Quando si chiama il API GatewayAPI, si sceglie questa opzione impostandola NEVER come valore della passthroughBehavior proprietà nell'Integrazione.

Negli esempi seguenti vengono illustrati i possibili comportamenti di passthrough.

Esempio 1: viene definito un modello di mappatura nella richiesta di integrazione per il tipo di contenuto application/json.

Intestazione tipo contenuto\Opzione passthrough selezionata WHEN_NO_MATCH WHEN_NO_TEMPLATES NEVER
Nessuna (impostazione predefinita su application/json) Il payload della richiesta viene trasformato utilizzando il modello. Il payload della richiesta viene trasformato utilizzando il modello. Il payload della richiesta viene trasformato utilizzando il modello.
application/json Il payload della richiesta viene trasformato utilizzando il modello. Il payload della richiesta viene trasformato utilizzando il modello. Il payload della richiesta viene trasformato utilizzando il modello.
application/xml Il payload della richiesta non viene trasformato e viene inviato al back-end inalterato. La richiesta viene rifiutata con una HTTP 415 Unsupported Media Type risposta. La richiesta viene rifiutata con una HTTP 415 Unsupported Media Type risposta.

Esempio 2: viene definito un modello di mappatura nella richiesta di integrazione per il tipo di contenuto application/xml.

Intestazione tipo contenuto\Opzione passthrough selezionata WHEN_NO_MATCH WHEN_NO_TEMPLATES NEVER
Nessuna (impostazione predefinita su application/json) Il payload della richiesta non viene trasformato e viene inviato al back-end inalterato. La richiesta viene rifiutata con una HTTP 415 Unsupported Media Type risposta. La richiesta viene rifiutata con una HTTP 415 Unsupported Media Type risposta.
application/json Il payload della richiesta non viene trasformato e viene inviato al back-end inalterato. La richiesta viene rifiutata con una HTTP 415 Unsupported Media Type risposta. La richiesta viene rifiutata con una HTTP 415 Unsupported Media Type risposta.
application/xml Il payload della richiesta viene trasformato utilizzando il modello. Il payload della richiesta viene trasformato utilizzando il modello. Il payload della richiesta viene trasformato utilizzando il modello.