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à.
API calcolatore semplice in API Gateway
L'API calcolatore semplice espone tre metodi (GET, POST, GET) per richiamare la Funzione Lambda del calcolatore semplice. Di seguito è illustrata una rappresentazione grafica di quest'API:
Questi tre metodi mostrano modi diversi per fornire l'input per la funzione Lambda di back-end per eseguire la stessa operazione:
-
Il metodo
GET /?a=...&b=...&op=...
usa i parametri di query per specificare l'input. -
Il metodo
POST /
usa un payload JSON{"a":"Number", "b":"Number", "op":"string"}
per specificare l'input. -
Il metodo
GET /{a}/{b}/{op}
usa i parametri di percorso per specificare l'input.
Se non è definito, API Gateway genera il nome del metodo SDK corrispondente combinando le parti relative al metodo HTTP e al percorso. La parte del percorso root (/
) è detta Api
Root
. Ad esempio, il nome del metodo SDK Java predefinito per il metodo API GET /?a=...&b=...&op=...
è getABOp
, il nome del metodo SDK predefinito per POST /
è postApiRoot
e il nome del metodo SDK predefinito per GET /{a}/{b}/{op}
è getABOp
. La convenzione può essere personalizzata per i singoli SDK. Consulta la documentazione dell'origine dell'SDK generato per informazioni sui nomi di metodi SDK specifici.
È possibile e consigliabile sostituire i nomi dei metodi SDK predefiniti specificando la proprietà operationName in ogni metodo API. Questa operazione viene eseguita durante la creazione del metodo API o l'aggiornamento del metodo API con l'API REST di API Gateway. Nella definizione Swagger dell'API è possibile impostare operationId
per ottenere lo stesso risultato.
Prima di illustrare come invocare questi metodi usando un SDK generato da API Gateway per questa API, esaminiamo brevemente come eseguire la configurazione. Per istruzioni dettagliate, consulta Sviluppa REST APIs in API Gateway. Se non hai mai usato API Gateway, consulta prima Scegli un tutorial di integrazione AWS Lambda.
Creazione di modelli per l'input e l'output
Per specificare un input fortemente tipizzato nell'SDK, creiamo un modello Input
per l'API. Per descrivere il tipo di dati del corpo della risposta, creiamo un modello Output
e un modello Result
.
Per creare i modelli per l'input, l'output e il risultato
-
Nel riquadro di navigazione principale seleziona Modelli.
-
Scegli Crea modello.
-
Per Nome, immetti
input
. -
Per Tipo di contenuto inserisci
application/json
.Se non viene trovato alcun tipo di contenuto corrispondente, la convalida della richiesta non viene eseguita. Per utilizzare lo stesso modello indipendentemente dal tipo di contenuti, inserisci
$default
. -
Per Schema modello immetti il seguente modello:
{ "$schema" : "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "a":{"type":"number"}, "b":{"type":"number"}, "op":{"type":"string"} }, "title":"Input" }
Scegli Crea modello.
Ripeti le seguenti fasi per creare un modello
Output
e un modelloResult
.Per il modello
Output
immetti in Schema modello quanto segue:{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "c": {"type":"number"} }, "title": "Output" }
Per il modello
Result
immetti in Schema modello quanto segue. Sostituisci l'ID APIabc123
con il tuo ID API.{ "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Output" } }, "title":"Result" }
Configurazione dei parametri di query del metodo GET /
Per il metodo GET /?a=..&b=..&op=..
, i parametri di query sono dichiarati in Method Request (Richiesta metodo):
Per configurare i parametri della stringa di query GET/URL
Nella sezione Richiesta metodo scegli Modifica per il metodo
GET
sulla risorsa root (/
).Scegli Parametri della stringa di query URL ed effettua le seguenti operazioni:
Scegliere Add query string (Aggiungi stringa di query).
Per Nome, immetti
a
.Mantieni Obbligatorio e Caching disattivati.
Mantieni disattivata l'opzione Caching.
Ripeti le stesse fasi e crea una stringa di query denominata
b
e una stringa di query denominataop
.Selezionare Salva.
Configurazione del modello di dati per il payload come input nel back-end
Per il metodo POST /
, creiamo il modello Input
e lo aggiungiamo alla richiesta del metodo per definire la forma dei dati di input.
Per configurare il modello di dati per il payload come input nel back-end
Nella sezione Richiesta metodo scegli Modifica per il metodo
POST
sulla risorsa root (/
).Scegli Corpo della richiesta.
Scegliere Add model (Aggiungi modello).
Per Tipo di contenuto inserisci
application/json
.Per Modello seleziona Input.
Selezionare Salva.
Con questo modello, i clienti dell'API possono chiamare l'SDK per specificare l'input creando un'istanza di un oggetto Input
. Senza questo modello, i clienti dovrebbero creare un oggetto dizionario per rappresentare l'input JSON per la funzione Lambda.
Configurazione del modello di dati per l'output del risultato dal back-end
Per tutti e tre i metodi, creiamo il modello Result
e lo aggiungiamo in Method Response
per il metodo per definire la forma dell'output restituito dalla funzione Lambda.
Per configurare il modello di dati per l'output del risultato dal back-end
Seleziona la risorsa /{a}/{b}/{op}, quindi scegli il metodo GET.
-
Nella scheda Risposta metodo scegli Modifica in Risposta 200.
-
In Corpo della risposta scegli Aggiungi modello.
-
Per Tipo di contenuto inserisci
application/json
. -
Per Modello seleziona Risultato.
-
Selezionare Salva.
Con questo modello, i clienti dell'API possono analizzare un output con esito positivo leggendo le proprietà di un oggetto Result
. Senza questo modello, i clienti dovrebbero creare un oggetto dizionario per rappresentare l'output JSON.