Imposta le mappature dei dati di richiesta e risposta utilizzando la console 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à.

Imposta le mappature dei dati di richiesta e risposta utilizzando la console Gateway API

Per utilizzare la console API Gateway per definire la richiesta/risposta API di integrazione, segui queste istruzioni.

Nota

Queste istruzioni presuppongono che sia già stata completata la procedura in Configurazione di una richiesta di integrazione API tramite la console API Gateway.

  1. Nel riquadro Risorse, scegli il tuo metodo.

  2. Nella scheda Richiesta di integrazione scegli Modifica in Impostazioni della richiesta di integrazione.

  3. Scegliete un'opzione per Request body passthrough per configurare in che modo il corpo della richiesta del metodo di un tipo di contenuto non mappato verrà passato attraverso la richiesta di integrazione senza trasformazione nella funzione Lambda, HTTP proxy o proxy di servizio. AWS Sono disponibili tre opzioni:

    Per ulteriori informazioni sui comportamenti passthrough di integrazione, consulta Comportamenti passthrough di integrazione.

  4. Per un HTTP proxy o un proxy di AWS servizio, per associare un parametro path, un parametro della stringa di query o un parametro di intestazione definito nella richiesta di integrazione con un parametro path, un parametro di stringa di query o un parametro di intestazione corrispondente nella richiesta del metodo del HTTP proxy o del proxy di AWS servizio, procedi come segue:

    1. Scegliete rispettivamente i parametri del URL percorso, i parametri della stringa di URL query o le intestazioni della HTTP richiesta, quindi scegliete rispettivamente Aggiungi percorso, Aggiungi stringa di query o Aggiungi intestazione.

    2. Per Nome, digitate il nome del parametro path, del parametro della stringa di query o del parametro di intestazione nel proxy o AWS nel HTTP proxy del servizio.

    3. Per Mappato da immetti il valore della mappatura del parametro di percorso, del parametro di stringa di query o del parametro di intestazione. Utilizza uno dei seguenti formati:

      • method.request.path.parameter-nameper un parametro di percorso denominato parameter-name come definito nella pagina di richiesta del metodo.

      • method.request.querystring.parameter-nameper un parametro della stringa di query denominato parameter-name come definito nella pagina di richiesta del metodo.

      • method.request.multivaluequerystring.parameter-nameper un parametro di stringa di query multivalore denominato parameter-name come definito nella pagina di richiesta del metodo.

      • method.request.header.parameter-nameper un parametro di intestazione denominato parameter-name come definito nella pagina di richiesta del metodo.

        In alternativa, puoi impostare un valore letterale della stringa (inserito in una coppia di virgolette singole) su un'intestazione di integrazione.

      • method.request.multivalueheader.parameter-nameper un parametro di intestazione multivalore denominato parameter-name come definito nella pagina di richiesta del metodo.

    4. Per aggiungere un altro parametro, scegli il pulsante Aggiungi.

  5. Per aggiungere un modello di mappatura, scegli Modelli di mappatura.

  6. Per definire un modello di mappatura per una richiesta in ingresso, scegli Aggiungi modello di mappatura. Per Tipo di contenuto immetti un tipo di contenuto (ad esempio, application/json). Quindi, inserisci il modello di mappatura. Per ulteriori informazioni, consulta Modelli di mappatura per REST APIs.

  7. Seleziona Save (Salva.

  8. È possibile mappare una risposta di integrazione dal backend a una risposta di metodo dell'app API restituita all'app chiamante. Ciò include la restituzione al client delle intestazioni di risposta selezionate tra quelle disponibili dal backend, la trasformazione del formato dei dati del payload di risposta del backend in un formato specificato. API Puoi specificare la mappatura configurando Risposta metodo e Risposte di integrazione.

    Per fare in modo che il metodo riceva un formato di dati di risposta personalizzato basato sul codice di HTTP stato restituito dalla funzione Lambda, dal proxy o dal HTTP proxy di AWS servizio, procedi come segue:

    1. Scegli Risposte di integrazione. Scegliete Modifica sul valore predefinito - Risposta per specificare le impostazioni per un codice di HTTP risposta di 200 dal metodo, oppure scegliete Crea risposta per specificare le impostazioni per qualsiasi altro codice di stato della HTTP risposta del metodo.

    2. Per l'espressione regolare di errore Lambda (per una funzione Lambda) o l'espressione regolare di HTTP stato (per un HTTP proxy o un proxy di AWS servizio), immettete un'espressione regolare per specificare quali stringhe di errore della funzione Lambda (per una funzione Lambda) o codici di stato della HTTP risposta (per un proxy o proxy di servizio) vengono mappate a questa mappatura di output. HTTP AWS Ad esempio, per mappare tutti i codici di stato della HTTP risposta 2xx da un HTTP proxy a questa mappatura di output, digitate "" come espressione regolare di stato. 2\d{2} HTTP Per restituire un messaggio di errore contenente "Invalid Request" da una funzione Lambda a una risposta 400 Bad Request, digita ".*Invalid request.*" per Espressione regolare errore Lambda. Per restituire invece 400 Bad Request per tutti i messaggi di errore non mappati da Lambda, immetti "(\n|.)+" in Espressione regolare errore Lambda. Quest'ultima espressione regolare può essere utilizzata per la risposta di errore predefinita di un. API

      Nota

      APIGateway utilizza espressioni regolari in stile pattern Java per la mappatura delle risposte. Per ulteriori informazioni, vedi Modello nella Oracle documentazione.

      I modelli di errore vengono confrontati con la stringa intera della proprietà errorMessage nella risposta Lambda, popolata da callback(errorMessage) in Node.js o da throw new MyException(errorMessage) in Java. Inoltre, i caratteri con escape sono senza escape prima che venga applicata l'espressione regolare.

      Se si utilizza "+" come modello di selezione per filtrare le risposte, considera che potrebbe non corrispondere a una risposta contenente un carattere di nuova riga ("\n").

    3. Se abilitato, per Method response status, selezionate il codice di stato della HTTP risposta definito nella pagina Method response.

    4. Per le mappature degli header, per ogni intestazione definita per il codice di stato della HTTP risposta nella pagina Method response, specificate un valore di mappatura. Per Mapping valore (Valore mappatura), utilizzare uno dei seguenti formati:

      • integration.response.multivalueheaders.header-namedove header-name è il nome di un'intestazione di risposta multivalore del backend.

        Ad esempio, per restituire l'intestazione della risposta del backend come Date intestazione della risposta di un API metodo, la colonna di intestazione della risposta conterrà una voce Timestamp e il valore di mappatura associato deve essere impostato su Integration.Response.MultivalueHeaders.date. Timestamp

      • integration.response.header.header-namedove header-name è il nome di un'intestazione di risposta a valore singolo proveniente dal backend.

        Ad esempio, per restituire l'intestazione della risposta del backend come Date intestazione della risposta di un API metodo, la colonna di intestazione della Timestamp risposta conterrà una voce Timestamp e il valore di mappatura associato deve essere impostato su Integration.Response.Header.Date.

    5. Scegli Modelli di mappatura, quindi seleziona Aggiungi modello di mappatura. Nella casella Tipo di contenuto, inserisci il tipo di contenuto dei dati che verranno passati dalla funzione Lambda, dal proxy o dal HTTP proxy di AWS servizio al metodo. Quindi, inserisci il modello di mappatura. Per ulteriori informazioni, consulta Modelli di mappatura per REST APIs.

    6. Seleziona Save (Salva.