

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Tutorial: REST-API mit HTTP-API ohne Proxy-Integration erstellen
<a name="api-gateway-create-api-step-by-step"></a>

 In diesem Tutorial erstellen Sie mit der Amazon API Gateway-Konsole eine API von Grund auf. Im Prinzip nutzen Sie die Konsole als API-Designstudio und wählen damit die API-Funktionen aus, testen das API-Verhalten, erstellen die API und stellen sie in Stufen bereit. 

**Topics**
+ [Erstellen einer API mit benutzerdefinierter HTTP-Integration](#api-gateway-create-resource-and-methods)
+ [(Optionale) Parameter für die Zuordnungsanforderung](#api-gateway-create-resources-and-methods-next-steps)

## Erstellen einer API mit benutzerdefinierter HTTP-Integration
<a name="api-gateway-create-resource-and-methods"></a>

 In diesem Abschnitt werden die Schritte beschrieben, mit denen Sie Ressourcen erstellen, Methoden für eine Ressource nutzen, eine Methode für bestimmte API-Verhaltensweisen konfigurieren und die API testen und bereitstellen.

In diesem Schritt erstellen Sie eine leere API. In den folgenden Schritten erstellen Sie Ressourcen und Methoden, um Ihre API mithilfe einer Nicht-Proxy-HTTP-Integration mit dem `http://petstore-demo-endpoint.execute-api.com/petstore/pets`-Endpunkt zu verbinden. 

**So erstellen Sie eine API**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter [https://console.aws.amazon.com/apigatewayan](https://console.aws.amazon.com/apigateway).

1. Wenn Sie API Gateway zum ersten Mal verwenden, sehen Sie eine Seite, die Sie mit den Funktionen des Service vertraut macht. Wählen Sie unter **REST-API** die Option **Erstellen** aus. Wenn das Popup-Fenster **Create Example API (Beispiel-API erstellen)** angezeigt wird, klicken Sie auf **OK**.

   Wenn Sie API Gateway nicht zum ersten Mal verwenden, wählen Sie **Create API (API erstellen)**. Wählen Sie unter **REST-API** die Option **Build (Erstellen)** aus.

1.  Geben Sie in **API name** (API-Name) **HTTPNonProxyAPI** ein.

1. (Optional) Geben Sie unter **Description (Beschreibung)** eine Beschreibung ein.

1. Lassen Sie die Einstellung für **API-Endpunkttyp** bei **Regional**.

1. Wählen Sie als **IP-Adresstyp** die Option. **IPv4**

1. Wählen Sie **Create API** (API erstellen) aus.

In der **Resources**-Struktur wird die Stammressource (`/`) ohne Methoden angezeigt. In dieser Übung erstellen wir die API mit der benutzerdefinierten HTTP-Integration der PetStore Website (http://petstore-demo-endpoint.execute-api). com/petstore/pets.) Zur Veranschaulichung erstellen wir eine `/pets` Ressource als untergeordnetes Element des Stammverzeichnisses und stellen eine GET-Methode für diese Ressource bereit, damit ein Client eine Liste verfügbarer Pets-Elemente von der PetStore Website abrufen kann.

**Erstellen einer /pets-Ressource**

1. Wählen Sie **Create Resource** (Ressource erstellen) aus.

1. Die **Proxy-Ressource** bleibt ausgeschaltet.

1. **Ressourcenpfad** wird als `/` beibehalten.

1. Geben Sie für **Resource name (Ressourcenname)** **pets** ein.

1. **CORS (Cross Origin Resource Sharing)** bleibt ausgeschaltet.

1. Wählen Sie **Create Resource** (Ressource erstellen) aus.

In diesem Schritt erstellen Sie eine `GET`-Methode für die **/pets**-Ressource. Die `GET`-Methode ist in die `http://petstore-demo-endpoint.execute-api.com/petstore/pets`-Website integriert. Die Folgenden sind weitere Optionen für eine API-Methode:
+ **POST**; wird vor allem für die Erstellung von untergeordneten Ressourcen verwendet.
+ **PUT**; wird vor allem für die Aktualisierung vorhandener Ressourcen verwendet (kann auch für die Erstellung untergeordneter Ressourcen verwendet werden, obwohl dies nicht empfohlen wird).
+ **DELETE**; wird für das Löschen von Ressourcen verwendet.
+ **PATCH**; wird für die Aktualisierung von Ressourcen verwendet.
+ **HEAD**; wird vor allem in Testszenarien verwendet. Diese Option ist identisch mit GET, gibt aber nicht die Repräsentation der Ressource zurück.
+ **OPTIONS** – kann von Aufrufern verwendet werden, um Informationen über verfügbare Kommunikationsoptionen für den Zielservice abzurufen.

 Als **HTTP method** der Integrationsanforderung müssen Sie eine Methode wählen, die vom Backend unterstützt wird. Bei `HTTP` oder `Mock integration` ist es durchaus sinnvoll, dass die Methoden- und die Integrationsanforderung das gleiche HTTP-Verb nutzen. Bei den anderen Integrationstypen verwenden Methoden- und Integrationsanforderung vermutlich unterschiedliche HTTP-Verben. Um beispielsweise eine Lambda-Funktion aufzurufen, muss die Integrationsanforderung `POST` verwenden, wohingegen die Methodenanforderung – abhängig von der Logik der Lambda-Funktion – ein beliebiges HTTP-Verb nutzen kann. 

**So erstellen Sie eine `GET`-Methode für die **/pets**-Ressource**

1. Wählen Sie die **/pets**-Ressource aus.

1. Wählen Sie **Methode erstellen** aus.

1. Wählen Sie als **Methodentyp** die Option **GET** (Abrufen) aus.

1. Für den **Integrationstyp** wählen Sie die Option **HTTP-Integration** aus.

1. Die Option **Lambda-Proxy-Integration** bleibt deaktiviert.

1. Für **HTTP-Methode** wählen Sie **GET** aus.

1. Geben Sie für **Endpunkt-URL** **http://petstore-demo-endpoint.execute-api.com/petstore/pets** ein.

   Auf der PetStore Website können Sie auf einer bestimmten Seite eine Liste von `Pet` Objekten abrufen, die nach der Art des Haustiers, z. B. „Hund“ oder „Katze“, sortiert sind.

1. Für **Inhaltsbehandlung** wählen Sie **Passthrough** aus.

1. Klicken Sie auf **Parameter für URL-Abfragezeichenfolgen**.

   Die PetStore Website verwendet die Parameter `type` und die `page` Abfragezeichenfolge, um eine Eingabe zu akzeptieren. Hierfür müssen diese Abfragezeichenfolge-Parameter zur Methodenanforderung hinzugefügt, und den entsprechenden Abfragezeichenfolgen der Integrationsanforderung zugewiesen werden. 

1. Fügen Sie die Abfragezeichenfolge-Parameter wie folgt hinzu:

   1. Wählen Sie **Abfragezeichenfolge hinzufügen** aus.

   1. Für **Name** geben Sie **type** ein.

   1. Lassen Sie die Optionen **Required** (Obligatorisch) and **Caching** (Cache) deaktiviert.

   Wiederholen Sie die obigen Schritte, um eine zusätzliche Abfragezeichenfolge namens **page** zu erstellen.

1. Wählen Sie **Methode erstellen** aus.

Bei der Anforderungsübermittlung kann der Client nun einen Haustiertyp und eine Seitenzahl als Abfragezeichenfolge-Parameter senden. Diese Eingabeparameter müssen den Abfragezeichenfolgenparametern der Integration zugeordnet werden, um die Eingabewerte an unsere PetStore Website im Backend weiterzuleiten.

**Zuordnen von Eingabeparametern zur Integrationsanforderung**

1. Klicken Sie auf der Registerkarte **Integrationsanfrage** unter **Einstellungen für Integrationsanfragen** auf **Bearbeiten**.

1. Klicken Sie auf **URL-Abfragezeichenfolgen-Parameter** und gehen Sie dann wie folgt vor: 

   1. Klicken Sie auf **Abfragezeichenfolge-Parameter hinzufügen**.

   1. Geben Sie unter **Name** **type** ein.

   1. Für **Zugeordnet von** geben Sie **method.request.querystring.type** ein.

   1. **Caching** bleibt ausgeschaltet. 

   1. Klicken Sie auf **Abfragezeichenfolge-Parameter hinzufügen**.

   1. Geben Sie unter **Name** **page** ein.

   1. Für **Zugeordnet von** geben Sie **method.request.querystring.page** ein.

   1. **Caching** bleibt ausgeschaltet. 

1. Wählen Sie **Speichern**.

**So testen Sie die API-Daten**

1. Wählen Sie die Registerkarte **Test**. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.

1. Für **Abfrage-Zeichenketten** geben Sie **type=Dog&page=2** ein.

1. Wählen Sie **Test** aus.

    Das Ergebnis sollte wie folgt aussehen:

      
![\[Ergebnis des Testaufrufs der GET-Methode für die Pets-Ressource\]](http://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/api-gateway-create-api-step-by-step-test-invoke-get-on-pets-result-new-console.png)

    Nach erfolgreich ausgeführtem Test kann die API bereitgestellt und damit öffentlich verfügbar gemacht werden. 

1. Klicken Sie auf **Deploy API**.

1. Wählen Sie für **Stufe** die Option **Neue Stufe** aus.

1. Geben Sie für **Stage name (Stufenname)** **Prod** ein.

1. (Optional) Geben Sie unter **Description (Beschreibung)** eine Beschreibung ein.

1. Wählen Sie **Bereitstellen**.

1.  (Optional) Klicken Sie unter **Stufendetails** auf das Kopiersymbol für **Aufruf-URL**, um die URL Ihrer Aufruf-API zu kopieren. Sie können diese mit Tools wie [Postman](https://www.postman.com) und [cURL](https://curl.se/) zum Testen Ihrer API verwenden.

 Wenn Sie ein SDK zum Erstellen eines Clients verwenden, können Sie die Anforderung mithilfe der vom SDK bereitgestellten Methodenaufrufe signieren. Weitere Informationen zur Implementierung finden Sie jeweils im ausgewählten [AWS SDK](https://aws.amazon.com/developer/tools/). 

**Anmerkung**  
 Nach jeder Änderung der API müssen Sie die API erneut bereitstellen, um die neuen oder aktualisierten Funktionen verfügbar zu machen, bevor die Anforderungs-URL wieder aufgerufen wird. 

## (Optionale) Parameter für die Zuordnungsanforderung
<a name="api-gateway-create-resources-and-methods-next-steps"></a>

### Anfrageparameter für ein API Gateway API zuordnen
<a name="getting-started-mappings"></a>

 In diesem Tutorial erfahren Sie, wie Sie einen `{petId}`-Pfadparameter über die Methodenanforderung der API erstellen, um eine Element-ID vorzugeben, diese dem `{id}`-Pfadparameter in der Integrationsanforderungs-URL zuweisen, und dann die Anforderung an den HTTP-Endpunkt senden.

**Anmerkung**  
 Eine Verwechslung von Groß- und Kleinschreibung kann im späteren Verlauf zu Fehlern führen. 

#### Schritt 1: Erstellen von Ressourcen
<a name="getting-started-mappings-add-resources"></a>

In diesem Schritt erstellen Sie eine Ressource mit einem \$1petId\$1-Pfadparameter.

**Erstellen der \$1petId\$1-Ressource**

1. Wählen Sie die **/pets**-Ressource aus und klicken Sie dann auf **Ressource erstellen**.

1. Die **Proxy-Ressource** bleibt ausgeschaltet.

1. Für **Ressourcenpfad** wählen Sie die Option**/pets/**aus.

1. Geben Sie für **Resource name (Ressourcenname)** **\$1petId\$1** ein.

    Setzen Sie geschweifte Klammern (`{ }`) um `petId`, sodass **/pets/\$1petId\$1** angezeigt wird.

1. **CORS (Cross Origin Resource Sharing)** bleibt ausgeschaltet.

1. Wählen Sie **Create Resource** (Ressource erstellen) aus.

#### Schritt 2: Erstellen und Testen der Methoden
<a name="getting-started-mappings-set-methods"></a>

 In diesem Schritt erstellen Sie eine `GET`-Methode mit einem `{petId}`-Pfadparameter. 

**Einrichten der GET-Methode**

1. Wählen Sie die **/\$1petId\$1**-Ressource aus und klicken Sie dann auf **Methode erstellen**.

1. Wählen Sie als **Methodentyp** die Option **GET** (Abrufen) aus.

1. Für den **Integrationstyp** wählen Sie die Option **HTTP-Integration** aus.

1. Die Option **Lambda-Proxy-Integration** bleibt deaktiviert.

1. Für **HTTP-Methode** wählen Sie **GET** aus.

1. Für **Endpunkt-URL** geben Sie **http://petstore-demo-endpoint.execute-api.com/petstore/pets/\$1id\$1** ein.

1. Für **Inhaltsbehandlung** wählen Sie **Passthrough** aus.

1. Das **Standard-Timeout** bleibt aktiviert. 

1. Wählen Sie **Methode erstellen** aus.

Als Nächstes ordnen Sie den soeben erstellten `{petId}`-Pfadparameter dem `{id}`-Pfadparameter in der HTTP-Endpunkt-URL der Integrationsanforderung zu. Die HTTP-Endpunkt-URL lautete **http://petstore-demo-endpoint.execute-api.com/petstore/pets/\$1id\$1**.

**Zuordnen des `{petId}`-Pfadparameters**

1. Klicken Sie auf der Registerkarte **Integrationsanfrage** unter **Einstellungen für Integrationsanfragen** auf **Bearbeiten**.

1. Klicken Sie auf **URL-Pfadparameter**.

1.  API Gateway erstellt einen Pfadparameter für die Integrationsanforderung namens **petId**. Dieser Pfadparameter ist jedoch nicht für die HTTP-Endpunkt-URL gültig, die Sie als Backend-Integration festgelegt haben. Der HTTP-Endpunkt verwendet `{id}` als Pfadparameter. Unter **Name** löschen Sie also **petId** und geben statt dessen **id** ein.

   Damit wird der Pfadparameter `petId` der Methodenanforderung dem Pfadparameter `id` der Integrationsanforderung zugewiesen.

1. Wählen Sie **Speichern**.

Jetzt können Sie die Methode testen.

**So testen Sie die -Methode**

1. Wählen Sie die Registerkarte **Test**. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.

1. Geben Sie unter **Pfad** für **petId** den Wert **4** ein.

1. Wählen Sie **Test** aus.

   Wenn diese Aktion erfolgreich ist, zeigt **Antworttext** Folgendes an:

   ```
   {
     "id": 4,
     "type": "bird",
     "price": 999.99
   }
   ```

#### Schritt 3: Bereitstellen der API
<a name="getting-started-mappings-deploy"></a>

In diesem Schritt stellen Sie die API bereit, sodass Sie beginnen können, sie außerhalb der API-Gateway-Konsole aufzurufen.

**So stellen Sie die API bereit**

1. Klicken Sie auf **Deploy API**.

1. Für **Stufe** wählen Sie die Option **Prod** aus.

1. (Optional) Geben Sie unter **Description (Beschreibung)** eine Beschreibung ein.

1. Wählen Sie **Bereitstellen** aus.

#### Schritt 4: Testen der API
<a name="getting-started-mappings-test"></a>

In diesem Schritt wechseln Sie au der API Gateway-Konsole und verwenden Ihre API, um auf den HTTP-Endpunkt zuzugreifen.

1. Klicken Sie im Hauptnavigationsbereich auf **Stufe**.

1. Wählen Sie unter **Stufendetails** das Kopiersymbol aus, um die Aufruf-URL Ihrer API zu kopieren.

   Sie sollte wie folgt aussehen:

   ```
   https://my-api-id.execute-api.region-id.amazonaws.com/prod
   ```

1. Geben Sie diese URL in das Adressfeld einer neuen Registerkarte im Browser ein und fügen Sie `/pets/4` an die URL an, bevor Sie Ihre Anforderung absenden.

1. Der Browser gibt Folgendes zurück:

   ```
   {
     "id": 4,
     "type": "bird",
     "price": 999.99
   }
   ```

#### Nächste Schritte
<a name="api-gateway-create-resources-and-methods-next-steps"></a>

Sie können Ihre API weiter anpassen, indem Sie die Anforderungsvalidierung aktivieren, Daten umwandeln oder benutzerdefinierte Gateway-Antworten erstellen. 

In den folgenden Tutorien finden Sie weitere Möglichkeiten zur Anpassung Ihrer API:
+ Weitere Informationen zur Anforderungsvalidierung finden Sie unter [Grundlegende Anforderungsvalidierung in API Gateway einrichten](api-gateway-request-validation-set-up.md).
+ Weitere Informationen zur Umwandlung von Anforderungs- und Antwort-Nutzlasten finden Sie unter [Tutorial: Ändern Sie die Integrationsanfrage und die Antwort für Integrationen zu Diensten AWS](set-up-data-transformations-in-api-gateway.md).
+ Informationen zum Erstellen benutzerdefinierter Gateway-Antworten finden Sie unter [Einrichten einer Gateway-Antwort für eine REST-API mit der API-Gateway-Konsole](set-up-gateway-response-using-the-console.md).