Configurazione di un metodo mediante la console API Gateway
Quando si crea un metodo utilizzando la console REST API, si configura sia la richiesta di integrazione sia la richiesta del metodo. Per impostazione predefinita, Gateway API crea la risposta 200
per il metodo.
Le seguenti istruzioni mostrano come modificare le impostazioni di richiesta del metodo e come creare risposte aggiuntive per il metodo.
Argomenti
Modifica di una richiesta del metodo di Gateway API nella console Gateway API
Queste istruzioni presuppongono che la richiesta del metodo sia già stata creata. Per ulteriori informazioni su come creare un metodo, consulta Configurazione di una richiesta di integrazione API tramite la console API Gateway.
-
Seleziona il metodo nel riquadro Risorse, quindi scegli la scheda Richiesta metodo.
Nella sezione Impostazioni della richiesta del metodo scegli Modifica.
-
Per Autorizzazione seleziona un sistema di autorizzazione disponibile.
-
Per abilitare l'accesso aperto al metodo per qualsiasi utente, scegli Nessuno. Questa fase può essere ignorata se l'impostazione predefinita non è stata modificata.
-
Per utilizzare le autorizzazioni IAM per controllare l'accesso del client al metodo, scegli
AWS_IAM
. In questo modo il metodo potrà essere chiamato solo dagli utenti dei ruoli IAM a cui è collegata la policy IAM corretta.Per creare il ruolo IAM, specifica una policy di accesso con un formato simile al seguente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "
resource-statement
" ] } ] }In questa policy di accesso,
resource-statement
è l'ARN del metodo. Per trovare l'ARN del metodo, seleziona il metodo nella pagina Risorse. Per ulteriori informazioni sull'impostazione delle autorizzazioni IAM, consulta Controllo degli accessi a una REST API con le autorizzazioni IAM.Per creare il ruolo IAM è possibile adattare le istruzioni disponibili nel tutorial Creazione di una funzione Lambda per l'integrazione non proxy Lambda.
-
Per utilizzare un sistema di autorizzazione Lambda, seleziona un token o un sistema di autorizzazione di richiesta. Affinché questa scelta sia visualizzata nel menu a discesa, è necessario creare un sistema di autorizzazione Lambda. Per informazioni su come creare un'autorizzazione Lambda, consulta Uso di autorizzazioni Lambda di API Gateway.
-
Per utilizzare un pool di utenti di Amazon Cognito, sceglierne uno disponibile in Cognito user pool authorizers (Autorizzazioni pool di utenti Cognito). Affinché questa scelta sia visualizzata nel menu a discesa, è necessario creare un pool di utenti in Amazon Cognito e un'autorizzazione del pool di utenti di Amazon Cognito in API Gateway. Per informazioni su come creare un'autorizzazione del pool di utenti di Amazon Cognito, consulta Controllo degli accessi alle REST API utilizzando pool di utenti di Amazon Cognito come sistema di autorizzazione.
-
-
Per specificare la convalida della richiesta, seleziona un valore dal menu a discesa Validatore richiesta. Per disattivare la convalida della richiesta, seleziona Nessuno. Per ulteriori informazioni su ciascuna opzione, consulta Convalida delle richieste per REST API in Gateway API.
-
Seleziona Chiave API necessaria per richiedere una chiave API. Quando sono abilitate, le chiavi API vengono utilizzate nei piani di utilizzo per limitare il traffico client.
-
(Facoltativo) Per assegnare un nome di operazione in un SDK Java di questa API generata da Gateway API, immetti un nome in Nome operazione. Ad esempio, per la richiesta del metodo
GET /pets/{petId}
, il nome di operazione dell'SDK Java corrispondente èGetPetsPetId
per impostazione predefinita. Questo nome viene costruito dal verbo HTTP del metodo (GET
) e dai nomi delle variabili di percorso della risorsa (Pets
ePetId
). Se imposti il nome dell'operazione comegetPetById
, il nome di operazione dell'SDK diventaGetPetById
. -
Per aggiungere un parametro stringa di query al metodo, procedi come indicato di seguito:
-
Scegli Parametri della stringa di query URL, quindi seleziona Aggiungi stringa di query.
-
In Nome digita il nome del parametro della stringa di query.
-
Se il parametro della stringa di query appena creato viene usato per la convalida della richiesta, scegli l'opzione Obbligatorio. Per ulteriori informazioni sulla convalida della richiesta, consulta Convalida delle richieste per REST API in Gateway API.
-
Se il parametro della stringa di query appena creato viene usato come parte di una chiave di caching, seleziona l'opzione Caching. Per ulteriori informazioni sul caching, consulta Uso dei parametri di metodo o di integrazione come chiavi di cache per indicizzare le risposte memorizzate nella cache.
Per rimuovere il parametro della stringa di query, scegli Rimuovi.
-
-
Per aggiungere un parametro di intestazione al metodo, procedi come indicato di seguito:
-
Scegli Intestazioni di richiesta HTTP, quindi seleziona Aggiungi intestazione.
-
Per Nome immetti il nome dell'intestazione.
-
Se l'intestazione appena creata viene usata per la convalida della richiesta, scegli l'opzione Obbligatorio. Per ulteriori informazioni sulla convalida della richiesta, consulta Convalida delle richieste per REST API in Gateway API.
-
Se l'intestazione appena creata viene usata come parte di una chiave di caching, scegli l'opzione Caching. Per ulteriori informazioni sul caching, consulta Uso dei parametri di metodo o di integrazione come chiavi di cache per indicizzare le risposte memorizzate nella cache.
Per rimuovere l'intestazione, scegli Rimuovi.
-
-
Per dichiarare il formato del payload di una richiesta di metodo con il verbo HTTP
POST
,PUT
oPATCH
, espandi Corpo della richiesta e procedi come segue:-
Scegliere Add model (Aggiungi modello).
-
Per Content-Type immetti un tipo MIME (ad esempio
application/json
). -
Per Modello seleziona un modello dal menu a discesa. I modelli attualmente disponibili per l'API includono i modelli
Empty
edError
predefiniti e tutti i modelli creati e aggiunti alla raccolta Models (Modelli) dell'API. Per ulteriori informazioni sulla creazione di un modello, consulta Modelli di dati per REST API.Nota
Il modello è utile per informare il client del formato dati previsto di un payload, nonché per generare un modello di mappatura. È importante generare un SDK tipizzato in modo sicuro dell'API in linguaggi come Java, C#, Objective-C e Swift. È obbligatorio solo se la convalida di richiesta è abilitata per il payload.
-
-
Seleziona Salva.
Configurazione di una risposta del metodo di API Gateway tramite console API Gateway
Un metodo API può avere una o più risposte. Ogni risposta è indicizzata dal rispettivo codice di stato HTTP. Per impostazione predefinita, la console API Gateway aggiunge la risposta 200
alle risposte di metodo. Puoi modificarla in modo che il metodo restituisca 201
. Puoi aggiungere altre risposte, ad esempio 409
per negare l'accesso e 500
per le variabili di fase non inizializzate utilizzate.
Per utilizzare la console API Gateway per modificare, eliminare o aggiungere una risposta a un metodo API, segui queste istruzioni.
-
Seleziona il metodo nel riquadro Risorse, quindi scegli la scheda Risposta metodo. Potrebbe essere necessario scegliere il pulsante freccia destra per visualizzare la scheda.
-
Nella sezione Impostazioni risposta metodo scegli Crea risposta.
-
Per Codice di stato HTTP inserisci un codice di stato HTTP come
200
,400
o500
.Se per una risposta restituita dal back-end non è definita una risposta del metodo corrispondente, API Gateway non è in grado di restituire la risposta al client. Restituisce invece una risposta di errore
500 Internal server error
. -
Seleziona Add header (Aggiungi intestazione).
-
Per Nome intestazione immetti un nome.
Per restituire un'intestazione dal back-end al client, aggiungi l'intestazione nella risposta del metodo.
-
Scegli Aggiungi modello per definire un formato del corpo della risposta del metodo.
Immetti il tipo di supporto del payload della risposta per Tipo di contenuto e seleziona un modello dal menu a discesa Modelli.
-
Seleziona Salva.
Per modificare una risposta esistente, passa alla risposta del metodo e scegli Modifica. Per modificare il codice di stato HTTP, scegli Elimina e crea una nuova risposta del metodo.
Per ogni risposta restituita dal back-end, deve essere configurata una risposta compatibile come risposta del metodo. Tuttavia le intestazioni delle risposte del metodo di configurazione e il modello di payload sono facoltativi, a meno che non si mappi il risultato dal back-end alla risposta del metodo prima della restituzione al client. Inoltre un modello di payload della risposta è importante quando si genera un SDK tipizzato in modo sicuro per l'API.