Conversioni dei tipi di contenuto in Gateway API - 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à.

Conversioni dei tipi di contenuto in Gateway API

La combinazione dei tuoi APIbinaryMediaTypes, le intestazioni nelle richieste dei client e la contentHandling proprietà di integrazione determinano il modo in cui API Gateway codifica i payload.

La tabella seguente mostra come API Gateway converte il payload della richiesta per configurazioni specifiche dell'Content-Typeintestazione di una richiesta, l'binaryMediaTypeselenco di una RestApirisorsa e il valore della proprietà della risorsa di integrazione. contentHandling

Payload della richiesta di metodo Intestazione Content-Type della richiesta binaryMediaTypes contentHandling Payload della richiesta di integrazione
Dati di testo Qualsiasi tipo di dato Undefined Undefined UTF8stringa codificata
Dati di testo Qualsiasi tipo di dato Undefined CONVERT_TO_BINARY BLOB binario con codifica Base64
Dati di testo Qualsiasi tipo di dato Undefined CONVERT_TO_TEXT UTF8stringa codificata
Dati di testo Un tipo di dati di testo Imposta con tipi di supporto corrispondenti Undefined Dati di testo
Dati di testo Un tipo di dati di testo Imposta con tipi di supporto corrispondenti CONVERT_TO_BINARY BLOB binario con codifica Base64
Dati di testo Un tipo di dati di testo Imposta con tipi di supporto corrispondenti CONVERT_TO_TEXT Dati di testo
Dati binari Un tipo di dati binari Imposta con tipi di supporto corrispondenti Undefined Dati binari
Dati binari Un tipo di dati binari Imposta con tipi di supporto corrispondenti CONVERT_TO_BINARY Dati binari
Dati binari Un tipo di dati binari Imposta con tipi di supporto corrispondenti CONVERT_TO_TEXT Stringa con codifica Base64

La tabella seguente mostra come API Gateway converte il payload di risposta per configurazioni specifiche dell'Acceptintestazione di una richiesta, l'binaryMediaTypeselenco di una RestApirisorsa e il valore della proprietà della contentHandling risorsa. IntegrationResponse

Importante

Quando una richiesta contiene più tipi di file multimediali nell'Acceptintestazione, API Gateway rispetta solo il primo tipo di supporto. Accept Se non riesci a controllare l'ordine dei tipi di Accept file multimediali e il tipo di file multimediale dei tuoi contenuti binari non è il primo dell'elenco, aggiungi il primo tipo di Accept file multimediale nell'binaryMediaTypeselenco. API APIGateway gestisce tutti i tipi di contenuto in questo elenco come binari.

Ad esempio, per inviare un JPEG file utilizzando un <img> elemento in un browser, il browser potrebbe inviare Accept:image/webp,image/*,*/*;q=0.8 una richiesta. Aggiungendo image/webp all'binaryMediaTypeselenco, l'endpoint riceve il JPEG file come binario.

Payload della risposta di integrazione Intestazione Accept della richiesta binaryMediaTypes contentHandling Payload della risposta del metodo
Dati di testo o binari Un tipo di testo Undefined Undefined UTF8stringa codificata
Dati di testo o binari Un tipo di testo Undefined CONVERT_TO_BINARY BLOB con codifica Base64
Dati di testo o binari Un tipo di testo Undefined CONVERT_TO_TEXT UTF8stringa codificata
Dati di testo Un tipo di testo Imposta con tipi di supporto corrispondenti Undefined Dati di testo
Dati di testo Un tipo di testo Imposta con tipi di supporto corrispondenti CONVERT_TO_BINARY BLOB con codifica Base64
Dati di testo Un tipo di testo Imposta con tipi di supporto corrispondenti CONVERT_TO_TEXT UTF8stringa codificata
Dati di testo Un tipo binario Imposta con tipi di supporto corrispondenti Undefined BLOB con codifica Base64
Dati di testo Un tipo binario Imposta con tipi di supporto corrispondenti CONVERT_TO_BINARY BLOB con codifica Base64
Dati di testo Un tipo binario Imposta con tipi di supporto corrispondenti CONVERT_TO_TEXT UTF8stringa codificata
Dati binari Un tipo di testo Imposta con tipi di supporto corrispondenti Undefined Stringa con codifica Base64
Dati binari Un tipo di testo Imposta con tipi di supporto corrispondenti CONVERT_TO_BINARY Dati binari
Dati binari Un tipo di testo Imposta con tipi di supporto corrispondenti CONVERT_TO_TEXT Stringa con codifica Base64
Dati binari Un tipo binario Imposta con tipi di supporto corrispondenti Undefined Dati binari
Dati binari Un tipo binario Imposta con tipi di supporto corrispondenti CONVERT_TO_BINARY Dati binari
Dati binari Un tipo binario Imposta con tipi di supporto corrispondenti CONVERT_TO_TEXT Stringa con codifica Base64

Quando converte un payload di testo in un blob binario, API Gateway presuppone che i dati di testo siano una stringa codificata in base64 e restituisce i dati binari come blob decodificati in base64. Se la conversione fallisce, restituisce una risposta che indica un errore di configurazione. 500 API Non viene fornito un modello di mappatura per tale conversione, sebbene sia necessario abilitare i comportamenti passthrough su. API

Quando si converte un payload binario in una stringa di testo, API Gateway applica sempre una codifica base64 sui dati binari. Per tale payload puoi definire un modello di mappatura, ma puoi accedere alla stringa con codifica base64 nel modello di mappatura solo attraverso $input.body, come viene mostrato nel seguente estratto di un modello di mappatura di esempio.

{ "data": "$input.body" }

Per far passare il payload binario senza modifiche, è necessario abilitare i comportamenti passthrough su. API