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 passa l'intera richiesta al back-end e non puoi in alcun modo modificare i comportamenti di 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.

Durante la chiamata all'API Gateway API, scegli questa opzione impostando WHEN_NO_MATCH come valore della proprietà passthroughBehavior in 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 al momento della selezione di questa opzione, la richiesta di metodo di un tipo di contenuto non mappato sarà rifiutata con la risposta Tipo di supporto non supportato HTTP 415.

Durante la chiamata all'API Gateway API, scegli questa opzione impostando WHEN_NO_TEMPLATES come valore della proprietà passthroughBehavior in 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 al momento della selezione di questa opzione, la richiesta di metodo di un tipo di contenuto non mappato sarà rifiutata con la risposta Tipo di supporto non supportato HTTP 415.

Durante la chiamata all'API Gateway API, scegli questa opzione impostando NEVER come valore della proprietà passthroughBehavior in 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 respinta con una risposta HTTP 415 Unsupported Media Type. La richiesta viene respinta con una risposta HTTP 415 Unsupported Media Type.

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 respinta con una risposta HTTP 415 Unsupported Media Type. La richiesta viene respinta con una risposta HTTP 415 Unsupported Media Type.
application/json Il payload della richiesta non viene trasformato e viene inviato al back-end inalterato. La richiesta viene respinta con una risposta HTTP 415 Unsupported Media Type. La richiesta viene respinta con una risposta HTTP 415 Unsupported Media Type.
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.