Gateway-Antworten in API Gateway - Amazon API Gateway

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.

Gateway-Antworten in API Gateway

Eine Gateway-Antwort wird durch einen Antworttyp identifiziert, der durch API Gateway definiert ist. Die Antwort besteht aus einem HTTP-Statuscode, eine Reihe zusätzlicher Header, die von Parameter-Mappings angegeben werden, und einer Nutzlast, die durch eine andere als eine VTL-Mapping-Vorlage generiert wird.

In der API Gateway-REST-API wird eine Gateway-Antwort durch GatewayResponse dargestellt. In OpenAPI wird eine GatewayResponse-Instance durch die x-amazon-apigateway-gateway-responses.gatewayResponse-Erweiterung beschrieben.

Zum Aktivieren einer Gateway-Antwort richten Sie sie für einen unterstützten Antworttyp auf API-Ebene ein. Wenn API Gateway eine Antwort dieses Typs zurückgibt, werden die in der Gateway-Antwort definierten Header-Mappings und Nutzlast-Mapping-Vorlagen angewendet, um die zugewiesenen Ergebnisse an den API-Aufrufer zurückzugeben.

Im folgenden Abschnitt wird gezeigt, wie Gateway-Antworten mit Hilfe der API Gateway-Konsole und der API Gateway-REST-API eingerichtet werden.

Einrichten von Gateway-Antworten, um Fehlerantworten anzupassen

Wenn API Gateway eine eingehende Anfrage nicht verarbeiten kann, wird eine Fehlermeldung an den Client gesendet, ohne die Anfrage an das Integrations-Backend weiterzuleiten. Standardmäßig enthält diese Meldung eine kurze Beschreibung des Fehlers. Wenn Sie beispielsweise versuchen, einen Vorgang für eine nicht definierte API-Ressource aufzurufen, erhalten Sie eine Fehlermeldung mit folgendem Inhalt: { "message": "Missing Authentication Token" }. Wenn Sie API Gateway noch nicht kennen, ist die Ursache eine Problems möglicherweise schwer zu ermitteln.

Bei einigen Fehlerantworten ermöglicht API Gateway die Anpassung durch API-Entwickler. So können Antworten in verschiedenen Formaten zurückzugeben werden. Bei dem Beispiel Missing Authentication Token können Sie der ursprünglichen Antwortnutzlast einen Hinweis auf die Fehlerursache hinzufügen, wie in diesem Beispiel: {"message":"Missing Authentication Token", "hint":"The HTTP method or resources may not be supported."}.

Wenn Ihre API zwischen einer externen Austausch-Cloud und AWS Cloud vermittelt, verwenden Sie VTL-Mapping-Vorlagen für Integrationsanforderungen oder -antworten, um die Nutzlast des einen Formats dem anderen Format zuzuweisen. Die VTL-Mapping-Vorlagen funktionieren aber nur für gültige Anforderungen mit erfolgreichen Antworten.

Bei ungültigen Anfragen umgeht API Gateway die Integration vollständig und gibt eine Fehlerantwort zurück. Sie müssen die Anpassung für die Fehlermeldungen nutzen, um diese in einem austauschkonformen Format darzustellen. Hier wird die Anpassung in einer anderen als der VTL-Mapping-Vorlage dargestellt, die nur einfache Variablenersetzungen unterstützt.

Wir bezeichnen die von API Gateway generierte Fehlerantwort auf alle von API Gateway generierten Antworten allgemein als Gateway-Antworten. Dies unterscheidet die von API Gateway generierten Antworten von den Integrationsantworten. Eine Mapping-Vorlage für eine Gateway-Antwort kann auf $context-Variablenwerte und $stageVariables-Eigenschaftswerte sowie auf Methodenanforderungs-Parameter im Format method.request.param-position.param-name zugreifen.

Weitere Informationen zu $context-Variablen finden Sie unter $context Variablen für Datenmodelle, Genehmiger, Zuweisungsvorlagen und CloudWatch Zugriffsprotokollierung. Mehr über $stageVariables erfahren Sie unter $stageVariables. Weitere Informationen zu Methodenanforderungs-Parametern finden Sie unter $input-Variablen.