

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à.

# Configurazione di un metodo mediante la console API Gateway
<a name="how-to-set-up-method-using-console"></a>

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.

**Topics**
+ [Modifica di una richiesta del metodo di Gateway API nella console Gateway API](#how-to-method-settings-callers-console)
+ [Configurazione di una risposta del metodo di API Gateway tramite console API Gateway](#how-to-method-response-settings-console)

## Modifica di una richiesta del metodo di Gateway API nella console Gateway API
<a name="how-to-method-settings-callers-console"></a>

 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](how-to-method-settings-console.md).

1. Seleziona il metodo nel riquadro **Risorse**, quindi scegli la scheda **Richiesta metodo**. 

1. Nella sezione **Impostazioni della richiesta del metodo** scegli **Modifica**.

1. Per **Autorizzazione** seleziona un sistema di autorizzazione disponibile. 

   1. Per abilitare l'accesso aperto al metodo per qualsiasi utente, scegli **Nessuno**. Questa fase può essere ignorata se l'impostazione predefinita non è stata modificata.

   1. 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: 

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "execute-api:Invoke"
            ],
            "Resource": [
              "arn:aws:execute-api:us-east-1:111111111111:aaabbb/*/GET/"
            ]
          }
        ]
      }
      ```

------

      In questa policy di accesso, `arn:aws:execute-api:us-east-1:111111111111:aaabbb/*/GET/` è 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](permissions.md). 

      Per creare il ruolo IAM è possibile adattare le istruzioni disponibili nel tutorial [Creazione di una funzione Lambda per l'integrazione non proxy Lambda](getting-started-lambda-non-proxy-integration.md#getting-started-new-lambda). 

   1.  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](apigateway-use-lambda-authorizer.md). 

   1.  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 [Controlla l'accesso a REST APIs utilizzando i pool di utenti di Amazon Cognito come autorizzatore](apigateway-integrate-with-cognito.md). 

1.  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 [Richiedi la convalida per REST APIs in API Gateway](api-gateway-method-request-validation.md). 

1. Seleziona **Chiave API necessaria** per richiedere una chiave API. Quando sono abilitate, le chiavi API vengono utilizzate nei [piani di utilizzo](api-gateway-api-usage-plans.md) per limitare il traffico client. 

1. (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` e `PetId`). Se imposti il nome dell'operazione come `getPetById`, il nome di operazione dell'SDK diventa `GetPetById`.

1. Per aggiungere un parametro stringa di query al metodo, procedi come indicato di seguito:

   1. Scegli **Parametri della stringa di query URL**, quindi seleziona **Aggiungi stringa di query**.

   1. In **Nome** digita il nome del parametro della stringa di query.

   1. 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 [Richiedi la convalida per REST APIs in API Gateway](api-gateway-method-request-validation.md).

   1. 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](api-gateway-caching.md#enable-api-gateway-cache-keys).

   Per rimuovere il parametro della stringa di query, scegli **Rimuovi**. 

1. Per aggiungere un parametro di intestazione al metodo, procedi come indicato di seguito:

   1. Scegli **Intestazioni di richiesta HTTP**, quindi seleziona **Aggiungi intestazione**.

   1. Per **Nome** immetti il nome dell'intestazione.

   1. Se l'intestazione appena creata viene usata per la convalida della richiesta, scegli l'opzione **Obbligatorio**. Per ulteriori informazioni sulla convalida della richiesta, consulta [Richiedi la convalida per REST APIs in API Gateway](api-gateway-method-request-validation.md).

   1. 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](api-gateway-caching.md#enable-api-gateway-cache-keys).

   Per rimuovere l'intestazione, scegli **Rimuovi**. 

1.  Per dichiarare il formato del payload di una richiesta di metodo con il verbo HTTP `POST`, `PUT` o `PATCH`, espandi **Corpo della richiesta** e procedi come segue: 

   1. Scegliere **Add model (Aggiungi modello)**.

   1. Per **Content-Type** immetti un tipo MIME (ad esempio `application/json`).

   1. Per **Modello** seleziona un modello dal menu a discesa. I modelli attualmente disponibili per l'API includono i modelli `Empty` ed `Error` predefiniti e tutti i modelli creati e aggiunti alla raccolta [Models (Modelli)](https://docs.aws.amazon.com/apigateway/latest/api/API_Model.html) dell'API. Per ulteriori informazioni sulla creazione di un modello, consulta [Modelli di dati per REST APIs](models-mappings-models.md). 
**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\$1, Objective-C e Swift. È obbligatorio solo se la convalida di richiesta è abilitata per il payload. 

1. Scegli **Save** (Salva).

## Configurazione di una risposta del metodo di API Gateway tramite console API Gateway
<a name="how-to-method-response-settings-console"></a>

 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.

1. Seleziona il metodo nel riquadro **Risorse**, quindi scegli la scheda **Risposta metodo**. Potrebbe essere necessario scegliere il pulsante freccia destra per visualizzare la scheda.

1. Nella sezione **Impostazioni risposta metodo** scegli **Crea risposta**.

1. Per **Codice di stato HTTP** inserisci un codice di stato HTTP come `200`, `400` o `500`.

    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`. 

1. Seleziona **Add header (Aggiungi intestazione)**.

1.  Per **Nome intestazione** immetti un nome.

    Per restituire un'intestazione dal back-end al client, aggiungi l'intestazione nella risposta del metodo. 

1.  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**.

1. Scegli **Save** (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.