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à.
modelli di mappatura per API REST
In Gateway Amazon API, una richiesta di metodo dell'API o una risposta può accettare un payload in un formato diverso dal payload della richiesta di integrazione o della risposta.
È possibile trasformare i tuoi dati con le seguenti finalità:
Abbinare il payload a un formato specificato dall'API.
Sostituire i parametri della richiesta e della risposta e i codici di stato di un'API.
Restituire le intestazioni di risposta selezionate dal client.
Associa i parametri del percorso, i parametri della stringa di query o i parametri di intestazione nella richiesta del metodo del proxy o del proxy HTTP. Servizio AWS
Seleziona i dati da inviare utilizzando l'integrazione Servizi AWS, ad esempio le funzioni Amazon DynamoDB o Lambda o gli endpoint HTTP.
È possibile usare modelli di mappatura per trasformare i dati. Un modello di mappatura è uno script espresso in Velocity Template Language (VTL)
Dati di input |
|
Modello di mappatura |
|
Dati di output |
|
Il diagramma seguente mostra i dettagli di questo modello di mappatura.
La variabile
$inputRoot
rappresenta l'oggetto radice nei dati JSON originali della sezione precedente. Le direttive iniziano con il simbolo#
.Un loop
foreach
esegue iterazioni su ogni oggetto nei dati JSON originali.La descrizione è una concatenazione di valori
id
etype
dai dati JSON originali.askingPrice
rappresenta il prezzo (price
) derivato dai dati JSON originali.
1 #set($inputRoot = $input.path('$')) 2 [ 3 #foreach($elem in $inputRoot) 4 { 5 "description" : "Item $elem.id is a $elem.type.", 6 "askingPrice" : $elem.price 7 }#if($foreach.hasNext),#end 8 #end 9 ]
In questo modello di mappatura:
-
Alla riga 1, la variabile
$inputRoot
rappresenta l'oggetto root nei dati JSON originali della sezione precedente. Le direttive iniziano con il simbolo#
. -
Alla riga 3, viene eseguita l'iterazione di un loop
foreach
in ogni oggetto nei dati JSON originali. -
Alla riga 5, la descrizione (
description
) è una concatenazione di valoriid
etype
dai dati JSON originali. -
Alla riga 6,
askingPrice
rappresenta il prezzo (price
) derivato dai dati JSON originali.
Per ulteriori informazioni su Velocity Template Language, consulta Riferimento ad Apache Velocity - VTL
Il modello di mappatura presuppone che i dati sottostanti siano di un oggetto JSON. Non è richiesta la definizione di un modello per i dati. Tuttavia, un modello per i dati di output consente di restituire i dati precedenti come oggetto specifico del linguaggio. Per ulteriori informazioni, consulta Modelli di dati per le API REST.
Modelli di mappatura complessi
Puoi anche creare modelli di mappatura più complessi. L'esempio seguente mostra la concatenazione dei riferimenti e il limite di 100 per determinare se un animale domestico è conveniente.
Dati di input |
|
Modello di mappatura |
|
Dati di output |
|
Puoi anche vedere modelli di dati più complicati. Per informazioni, consulta Esempi di modelli di dati e modelli di mappatura per API Gateway.