

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

# Tutorial: creazione di una REST API con l'integrazione proxy HTTP
<a name="api-gateway-create-api-as-simple-proxy-for-http"></a>

L'integrazione proxy HTTP è un meccanismo semplice, potente e versatile per creare un'API che permetta a un'applicazione Web di accedere a più caratteristiche o risorse dell'endpoint HTTP integrato, ad esempio l'intero sito Web, con una configurazione semplificata di un solo metodo API. In un'integrazione proxy HTTP, API Gateway passa la richiesta di metodo inviata dal client al back-end. I dati di richiesta che vengono passati includono intestazioni di richiesta, parametri delle stringhe di query, variabili di percorso URL e payload. L'endpoint HTTP di back-end o il server Web analizza i dati delle richieste in ingresso per stabilire la risposta da restituire. L'integrazione proxy HTTP consente l'interazione diretta tra client e back-end senza alcun intervento da parte di API Gateway dopo la configurazione del metodo API, tranne nel caso di problemi noti elencati in , ad esempio caratteri non supportat [Note importanti Amazon API Gateway](api-gateway-known-issues.md).

Con la risorsa proxy globale `{proxy+}` e il verbo catch-all `ANY` per il metodo HTTP, puoi usare un'integrazione proxy HTTP per creare un'API di un metodo API singolo. Il metodo espone l'intero set di operazioni e risorse HTTP accessibili pubblicamente di un sito Web. Quando il server Web di back-end apre più risorse per l'accesso pubblico, il client può usare le nuove risorse con la stessa configurazione API. Per consentirlo, lo sviluppatore del sito Web deve comunicare chiaramente con lo sviluppatore del client in merito alla natura delle nuove risorse e alle operazioni applicabili per ciascuna di esse.



Come breve introduzione, il tutorial che segue fornisce un esempio di integrazione proxy HTTP. Nel tutorial, creiamo un'API utilizzando la console API Gateway per l'integrazione con il PetStore sito Web tramite una risorsa `{proxy+}` proxy generica e creiamo il segnaposto del metodo HTTP di. `ANY` 

**Topics**
+ [Creazione di un'API con l'integrazione proxy HTTP mediante la console API Gateway](#api-gateway-create-api-as-simple-proxy-for-http-build)
+ [Verifica di un'API con l'integrazione proxy HTTP](#api-gateway-create-api-as-simple-proxy-for-http-test)

## Creazione di un'API con l'integrazione proxy HTTP mediante la console API Gateway
<a name="api-gateway-create-api-as-simple-proxy-for-http-build"></a>

 Nella procedura seguente vengono descritte le fasi necessarie per creare e testare un'API con una risorsa proxy per un back-end HTTP mediante la console API Gateway. Il back-end HTTP è il sito Web `PetStore` (`http://petstore-demo-endpoint.execute-api.com/petstore/pets`) da [Tutorial: creazione di una REST API con un'integrazione non proxy HTTP](api-gateway-create-api-step-by-step.md), in cui vengono usati screenshot come supporto visivo per illustrare gli elementi dell'interfaccia utente API Gateway. Se non hai esperienza di utilizzo della console API Gateway per la creazione di un'API, può essere di aiuto seguire prima tale sezione. 

**Come creare un’API**

1. Accedi alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Se si utilizza API Gateway per la prima volta, verrà visualizzata una pagina che presenta le caratteristiche del servizio. In **API REST**, scegliere **Crea**. Quando appare il popup **Create Example API (Crea API di esempio)**, scegliere **OK**.

   Se non è la prima volta che si utilizza API Gateway, scegliere **Create API (Crea API)**. In **API REST**, scegliere **Crea**.

1.  Per **API name (Nome API)**, immettere **HTTPProxyAPI**.

1. (Facoltativo) In **Descrizione**, immetti una descrizione.

1. Lasciare l'opzione **Tipo di endpoint API** impostata su **Regionale**.

1. Per il tipo di **indirizzo IP**, selezionare. **IPv4**

1. Seleziona **Create API** (Crea API).

In questa fase crei un percorso della risorsa proxy di `{proxy+}`. Questo è il segnaposto di un endpoint di back-end in `http://petstore-demo-endpoint.execute-api.com/`. Ad esempio, può essere `petstore`, `petstore/pets` e `petstore/pets/{petId}`. Quando crei la risorsa `{proxy+}`, Gateway API crea il metodo `ANY` che funge da segnaposto per qualsiasi verbo HTTP supportato al runtime.

**Per creare una risorsa **/\$1proxy\$1\$1****

1. Scegliere l'API. 

1. Nel riquadro di navigazione principale scegli **Risorse**.

1. Scegli **Crea risorsa**.

1. Attiva **Risorsa proxy**.

1. Mantieni **Percorso risorsa** impostato su `/`.

1. Per **Resource Name (Nome risorsa)** immetti **\$1proxy\$1\$1**.

1. Mantieni **CORS (Cross Origin Resource Sharing)** disattivato.

1. Scegli **Crea risorsa**.  
![\[Creazione di una risorsa figlio.\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/api-gateway-simple-proxy-create-proxy-resource-new-console.png)

In questa fase integri il metodo `ANY` con un endpoint HTTP di back-end, utilizzando un'integrazione proxy. In un'integrazione proxy, Gateway API passa la richiesta del metodo inviata dal client al back-end senza intervento di Gateway API.

**Per creare un metodo `ANY`**

1. Scegli la risorsa **/\$1proxy\$1\$1**.

1. Scegli il metodo **ANY**.

1. Sotto il simbolo di avviso, scegli **Modifica integrazione**. Non puoi implementare un'API con un metodo senza un'integrazione.

1. Per **Tipo di integrazione** seleziona **HTTP**.

1. Attiva l'opzione **Integrazione proxy HTTP**.

1. Per **Metodo HTTP** seleziona **ANY**.

1. Per **URL dell'endpoint** immetti **http://petstore-demo-endpoint.execute-api.com/\$1proxy\$1**.

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

## Verifica di un'API con l'integrazione proxy HTTP
<a name="api-gateway-create-api-as-simple-proxy-for-http-test"></a>

 L'esito di una richiesta client specifica dipende dagli elementi seguenti: 
+  Se il back-end ha reso disponibile l'endpoint di back-end corrispondente e, in caso affermativo, se ha concesso le autorizzazioni di accesso richieste. 
+ Se il client fornisce l'input corretto.

Ad esempio, l' PetStore API utilizzata qui non espone la `/petstore` risorsa. In questo modo, ottieni una risposta `404 Resource Not Found` contenente il messaggio di errore `Cannot GET /petstore`. 

Inoltre per analizzare correttamente il risultato, il client deve essere in grado di gestire il formato di output del back-end. API Gateway non svolge alcuna mediazione per semplificare le interazioni tra il client e il back-end. 

**Per testare un'API integrata con il PetStore sito Web utilizzando l'integrazione del proxy HTTP tramite la risorsa proxy**

1. Seleziona la scheda **Test**. Potrebbe essere necessario scegliere il pulsante freccia destra per visualizzare la scheda.

1. In **Tipo di metodo**, seleziona `GET`.

1. In **Percorso** immetti **petstore/pets** per **proxy**.

1. In **Stringhe di query** immetti **type=fish**.

1. Scegli **Test (Esegui test)**.

     
![\[Utilizza la funzionalità Test per eseguire il test del metodo.\]](http://docs.aws.amazon.com/it_it/apigateway/latest/developerguide/images/api-gateway-simple-proxy-petstore-call-proxy-resource-new-console.png)

   Poiché supporta la richiesta `GET /petstore/pets?type=fish`, il sito Web di back-end restituisce una risposta con esito positivo simile alla seguente:

   ```
   [
     {
       "id": 1,
       "type": "fish",
       "price": 249.99
     },
     {
       "id": 2,
       "type": "fish",
       "price": 124.99
     },
     {
       "id": 3,
       "type": "fish",
       "price": 0.99
     }
   ]
   ```

   Se provi a chiamare `GET /petstore`, ottieni una risposta `404` con il messaggio di errore `Cannot GET /petstore`. Questo perché il back-end non supporta l'operazione specificata. Se chiami`GET /petstore/pets/1`, riceverai una `200 OK` risposta con il seguente payload, poiché la richiesta è supportata dal PetStore sito Web.

   ```
   {
     "id": 1,
     "type": "dog",
     "price": 249.99
   }
   ```

Puoi anche utilizzare un browser per testare l'API. Implementa l'API e associala a una fase per creare l'URL di richiamata dell'API.

**Per distribuire l'API**

1. Seleziona **Deploy API (Distribuisci API)**.

1. In **Fase**, seleziona **Nuova fase**.

1. In **Stage name (Nome fase)** immettere **test**.

1. (Facoltativo) In **Descrizione**, immetti una descrizione.

1. Seleziona **Implementa**.

Ora i client possono chiamare la tua API. 

**Richiamo dell'API**

1. Accedi alla console API Gateway all'indirizzo [https://console.aws.amazon.com/apigateway.](https://console.aws.amazon.com/apigateway)

1. Scegliere l'API.

1. Nel pannello di navigazione principale scegli **Fase**.

1. In **Dettagli fase**, scegli l'icona Copia per copiare l'URL di richiamo dell'API.

   Immetti l'URL di richiamata dell'API in un browser Web. 

   L'URL completo dovrebbe essere del tipo `https://abcdef123.execute-api.us-east-2.amazonaws.com/test/petstore/pets?type=fish`. 

   Il tuo browser invia una richiesta `GET` all'API.

1. Il risultato sarà uguale a quello che viene restituito quando si usa **Test** nella console Gateway API.