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-Type
intestazione di una richiesta, l'binaryMediaTypes
elenco 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'Accept
intestazione di una richiesta, l'binaryMediaTypes
elenco di una RestApirisorsa e il valore della proprietà della contentHandling
risorsa. IntegrationResponse
Importante
Quando una richiesta contiene più tipi di file multimediali nell'Accept
intestazione, 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'binaryMediaTypes
elenco. 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'binaryMediaTypes
elenco, 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" }