

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.

# Einrichten einer Gateway-Antwort für eine REST-API mit der API-Gateway-Konsole
<a name="set-up-gateway-response-using-the-console"></a>

Im folgenden Beispiel sehen Sie, wie Sie eine Gateway-Antwort für eine REST-API mithilfe der API-Gateway-Konsole einrichten 

**So passen Sie eine Gateway-Antwort über die API Gateway-Konsole an:**

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

1. Wählen Sie eine REST-API aus.

1. Wählen Sie im Hauptnavigationsbereich **Gateway-Antworten**.

1. Wählen Sie einen Antworttyp und dann **Bearbeiten** aus. In dieser Anleitung verwenden wir **Fehlendes Authentifizierungstoken** als Beispiel. 

1. Sie können den von API Gateway generierten **Statuscode** ändern, um einen anderen Statuscode auszugeben, der den Anforderungen Ihrer API entspricht. In diesem Beispiel ändert die Anpassung den Statuscode vom Standard (`403`) zu `404`, da diese Fehlermeldung auftritt, wenn ein Client eine nicht unterstützte oder ungültige Ressource aufruft, die als nicht gefunden betrachtet werden kann.

1. Um zu den benutzerdefinierten Headern zurückzukehren, wählen Sie **Header hinzufügen hinzufügen** unter **Antwort-Header** aus. Zur Veranschaulichung fügen wir die folgenden benutzerdefinierten Header hinzu: 

   ```
   Access-Control-Allow-Origin:'a.b.c'
   x-request-id:method.request.header.x-amzn-RequestId
   x-request-path:method.request.path.petId
   x-request-query:method.request.querystring.q
   ```

   In den vorstehenden Header-Mappings wird dem `'a.b.c'`-Header ein statischer Domänenname (`Allow-Control-Allow-Origin`) hinzugefügt, um den CORS-Zugriff auf die API zuzulassen; der `x-amzn-RequestId` in der Antwort wird der Eingabeanforderungs-Header `request-id` zugewiesen; dem `petId`-Header in der Antwort wird die `request-path`-Pfadvariable zugewiesen und dem `q`-Header der Antwort wird der `request-query`-Abfrageparameter der ursprünglichen Anforderung zugewiesen.

1. Behalten Sie unter **Antwortvorlagen** die Option `application/json` für **Inhaltstyp** bei und geben Sie die folgende Text-Mapping-Vorlage in den Editor **Vorlagentext** ein:

   ```
   {
        "message":"$context.error.messageString",
        "type": "$context.error.responseType",
        "statusCode": "'404'",
        "stage": "$context.stage",
        "resourcePath": "$context.resourcePath",
        "stageVariables.a": "$stageVariables.a"
   }
   ```

   In diesem Beispiel sehen Sie, wie die `$context`- und `$stageVariables`-Eigenschaften den Eigenschaften des Gateway-Antworttexts zugewiesen werden.

1. Wählen Sie **Änderungen speichern ** aus.

1. Stellen Sie die API in einer neuen oder vorhandenen Stufe bereit.

Testen Sie Ihre Gateway-Antwort, indem Sie den folgenden CURL-Befehl aufrufen. Dabei wird davon ausgegangen, dass die Aufruf-URL der entsprechenden API-Methode `https://{{o81lxisefl}}.execute-api.us-east-1.amazonaws.com/custErr/pets/{petId}` ist:

```
curl -v -H 'x-amzn-RequestId:123344566' https://o81lxisefl.execute-api.us-east-1.amazonaws.com/custErr/pets/5/type?q=1
```

Da der zusätzliche Abfragezeichenfolgeparameter `q=1` nicht mit der API kompatibel ist, wird ein Fehler in der angegebene Gateway-Antwort zurückgegeben. Sie sollten eine Gateway-Antwort wie die folgende erhalten:

```
> GET /custErr/pets/5?q=1 HTTP/1.1
Host: o81lxisefl.execute-api.us-east-1.amazonaws.com
User-Agent: curl/7.51.0
Accept: */*
 
HTTP/1.1 404 Not Found
Content-Type: application/json
Content-Length: 334
Connection: keep-alive
Date: Tue, 02 May 2017 03:15:47 GMT
x-amzn-RequestId: 123344566
Access-Control-Allow-Origin: a.b.c
x-amzn-ErrorType: MissingAuthenticationTokenException
header-1: static
x-request-query: 1
x-request-path: 5
X-Cache: Error from cloudfront
Via: 1.1 441811a054e8d055b893175754efd0c3.cloudfront.net (CloudFront)
X-Amz-Cf-Id: nNDR-fX4csbRoAgtQJ16u0rTDz9FZWT-Mk93KgoxnfzDlTUh3flmzA==
 
{
     "message":"Missing Authentication Token",
     "type": MISSING_AUTHENTICATION_TOKEN,
     "statusCode": '404',
     "stage": custErr,
     "resourcePath": /pets/{petId},
     "stageVariables.a": a
}
```

Im vorherigen Beispiel wird davon ausgegangen, dass das API-Backend [Pet Store](http://petstore-demo-endpoint.execute-api.com/petstore/pets) ist und die API über die definierte Stufenvariable `a` verfügt.