Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Transformieren Sie API-Anfragen und -Antworten für HTTP APIs in API Gateway

Fokusmodus
Transformieren Sie API-Anfragen und -Antworten für HTTP APIs 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.

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.

Sie können API-Anforderungen von Clients ändern, bevor sie Ihre Backend-Integrationen erreichen. Sie können auch die Antwort von Integrationen ändern, bevor API Gateway die Antwort an Clients zurückgibt. Sie verwenden die Parameterzuordnung, um API-Anfragen und -Antworten für HTTP zu ändern APIs. Um das Parameter-Mapping zu verwenden, geben Sie zu ändernde API-Anforderungs- oder Antwortparameter an und wie diese Parameter geändert werden sollen.

Transformieren von API-Anforderungen

Sie verwenden Anforderungsparameter, um Anforderungen zu ändern, bevor sie Ihre Backend-Integrationen erreichen. Sie können Header, Abfragezeichenfolgen oder den Anforderungspfad ändern.

Anforderungsparameter sind eine Schlüssel-Wert-Zuordnung. Der Schlüssel gibt den Speicherort des zu ändernden Anforderungsparameters und an, wie er geändert werden soll. Der Wert gibt die neuen Daten für den Parameter an.

Die folgende Tabelle zeigt unterstützte Schlüssel.

Typ Syntax
Header append|overwrite|remove:header.headername
Abfragezeichenfolge append|overwrite|remove:querystring.querystring-name
Pfad overwrite:path

Die folgende Tabelle zeigt unterstützte Werte, die Sie Parametern zuordnen können.

Typ Syntax Hinweise
Header-Wert $request.header. nameoder $ {request.header. name} Bei Header-Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. API Gateway kombiniert mehrere Headerwerte mit Kommas, z. B. "header1": "value1,value2". Einige Header sind reserviert. Weitere Informationen hierzu finden Sie unter Reservierte Header.
Abfragezeichenfolgenwert $request.querystring. nameoder $ {request.querystring. name} Abfragezeichenfolgennamen unterscheiden zwischen Groß- und Kleinschreibung. API Gateway kombiniert mehrere Werte mit Kommas, z. B. "querystring1" "Value1,Value2".
Anforderungstext $request.body. nameoder $ {request.body. name} Ein JSON-Pfadausdruck. Rekursiver Abstieg ($request.body..name)) und Filterausdrücke (?(expression)) werden nicht unterstützt.
Anmerkung

Wenn Sie einen JSON-Pfad angeben, schneidet API Gateway den Anfragetext auf 100 KB ab und wendet dann den Auswahlausdruck an. Um Payloads mit mehr als 100 KB zu senden, geben Sie an $request.body.

Anforderungspfad $request.path oder ${request.path} Der Anforderungspfad ohne den Namen der Stufe.
Path-Parameter $request.path. nameoder $ {request.path. name} Der Wert eines Pfadparameters in der Anforderung. Beispiel: Wenn die Route /pets/{petId} ist, können Sie den Parameter petId aus der Anforderung mit $request.path.petId zuordnen.
Kontextvariable $kontext. variableNameoder $ {context. variableName} Der Wert einer Kontextvariablen.
Anmerkung

NEs werden ausschließlich die Sonderzeichen . und _ unterstützt.

Stufenvariable $stageVariablen. variableNameoder $ {StageVariables. variableName} Der Wert einer Stufenvariablen.
Statischer Wert string Ein konstanter Wert.
Anmerkung

Um mehrere Variablen in einem Auswahlausdruck zu verwenden, schließen Sie die Variable in Klammern ein. Beispiel, ${request.path.name} ${request.path.id}.

Transformieren von API-Antworten

Sie verwenden Antwortparameter, um die HTTP-Antwort einer Backend-Integration zu transformieren, bevor Sie die Antwort an Clients zurückgeben. Sie können Header oder den Statuscode einer Antwort ändern, bevor API Gateway die Antwort an Clients zurückgibt.

Sie konfigurieren die Antwortparameter für jeden Statuscode, den Ihre Integration zurückgibt. Antwortparameter sind eine Schlüssel-Wert-Zuordnung. Der Schlüssel gibt den Speicherort des zu ändernden Anforderungsparameters und an, wie er geändert werden soll. Der Wert gibt die neuen Daten für den Parameter an.

Die folgende Tabelle zeigt unterstützte Schlüssel.

Typ Syntax
Header append|overwrite|remove:header.headername
Statuscode overwrite:statuscode

Die folgende Tabelle zeigt unterstützte Werte, die Sie Parametern zuordnen können.

Typ Syntax Hinweise
Header-Wert $response.header. nameoder $ {response.header. name} Bei Header-Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. API Gateway kombiniert mehrere Headerwerte mit Kommas, z. B. "header1": "value1,value2". Einige Header sind reserviert. Weitere Informationen hierzu finden Sie unter Reservierte Header.
Antworttext $response.body. nameoder $ {response.body. name} Ein JSON-Pfadausdruck. Rekursiver Abstieg ($response.body..name) und Filterausdrücke (?(expression)) werden nicht unterstützt.
Anmerkung

Wenn Sie einen JSON-Pfad angeben, kürzt API Gateway den Antworttext auf 100 KB und wendet dann den Auswahlausdruck an. Um Payloads mit mehr als 100 KB zu senden, geben Sie an $response.body.

Kontextvariable $kontext. variableNameoder $ {context. variableName} Der Wert einer unterstützten Kontextvariablen.
Stufenvariable $stageVariablen. variableNameoder $ {StageVariables. variableName} Der Wert einer Stufenvariablen.
Statischer Wert string Ein konstanter Wert.
Anmerkung

Um mehrere Variablen in einem Auswahlausdruck zu verwenden, schließen Sie die Variable in Klammern ein. Beispiel, ${request.path.name} ${request.path.id}.

Reservierte Header

Die folgenden Header sind reserviert. Sie können keine Anforderungs- oder Antwort-Mappings für diese Header konfigurieren.

  • access-control-*

  • apigw-*

  • Autorisierung

  • Verbindung

  • Content-Encoding

  • Content-Length

  • Content-Location

  • Forwarded

  • Keep-Alive

  • Urspung

  • Proxy-Authenticate

  • Proxy-Authorization

  • TE

  • Trailers

  • Transfer-Encoding

  • Upgrade

  • x-amz-*

  • x-amzn-*

  • X-Forwarded-For

  • X-Forwarded-Host

  • X-Forwarded-Proto

  • Via

Beispiele

In den folgenden AWS CLI Beispielen werden Parameterzuordnungen konfiguriert. AWS CloudFormation Beispielvorlagen finden Sie unter. GitHub

Hinzufügen eines Headers zu einer API-Anforderung

Der folgende Befehl create-integration erstellt einen Header, der header1 nach einer API-Anfrage benannt ist, bevor diese Ihre Backend-Integration erreicht. API Gateway füllt den Header mit der Anforderungs-ID auf.

aws apigatewayv2 create-integration \ --api-id abcdef123 \ --integration-type HTTP_PROXY \ --payload-format-version 1.0 \ --integration-uri 'https://api.example.com' \ --integration-method ANY \ --request-parameters '{ "append:header.header1": "$context.requestId" }'

Umbenennen eines Anforderungsheaders

Der folgende Befehl create-integration benennt einen Anforderungsheader von in um: header1 header2

aws apigatewayv2 create-integration \ --api-id abcdef123 \ --integration-type HTTP_PROXY \ --payload-format-version 1.0 \ --integration-uri 'https://api.example.com' \ --integration-method ANY \ --request-parameters '{ "append:header.header2": "$request.header.header1", "remove:header.header1": "''"}'

Ändern der Antwort aus einer Integration

Der folgende Befehl create-integration konfiguriert Antwortparameter für eine Integration. Wenn die Integrationen einen 500-Statuscode zurückgeben, ändert API Gateway den Statuscode auf 403 und fügt der Antwort header11 hinzu. Wenn die Integration einen 404-Statuscode zurückgibt, fügt API Gateway der Antwort einen error-Header hinzu.

aws apigatewayv2 create-integration \ --api-id abcdef123 \ --integration-type HTTP_PROXY \ --payload-format-version 1.0 \ --integration-uri 'https://api.example.com' \ --integration-method ANY \ --response-parameters '{"500" : {"append:header.header1": "$context.requestId", "overwrite:statuscode" : "403"}, "404" : {"append:header.error" : "$stageVariables.environmentId"} }'

Entfernen konfigurierter Parameter-Mappings

Der folgende Befehl update-integration entfernt zuvor konfigurierte Anforderungsparameter für. append:header.header1 Außerdem werden zuvor konfigurierte Antwortparameter für einen 200-Statuscode entfernt.

aws apigatewayv2 update-integration \ --api-id abcdef123 \ --integration-id hijk456 \ --request-parameters '{"append:header.header1" : ""}' \ --response-parameters '{"200" : {}}'
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.