

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.

# Parameterzuordnung für REST APIs in API Gateway
<a name="rest-api-parameter-mapping"></a>

**Anmerkung**  
Wenn Sie eine HTTP-API verwenden, finden Sie weitere Informationen unter [API-Anforderungen und -Antworten für HTTP-APIs in API Gateway transformieren](http-api-parameter-mapping.md).

Bei der Zuweisung von Parametern weisen Sie Anfrage- oder Antwortparameter zu. Sie können Parameter mithilfe von Ausdrücken zur Parameterzuweisung oder statischen Werten zuweisen. Eine Liste der Zuweisungsweisungsausdrücke finden Sie unter [Quellenreferenz für die Parameterzuweisung für REST APIs in API Gateway](rest-api-parameter-mapping-sources.md). Sie können die Zuweisung von Parametern in Ihrer Integrationsanforderung sowohl für Proxy- als auch für Nicht-Proxy-Integrationen verwenden. Um jedoch die Zuweisung von Parametern für eine Integrationsantwort zu nutzen, benötigen Sie eine Nicht-Proxy-Integration.

Beispielsweise können Sie den Header-Parameter `puppies` der Methodenanforderung dem Header-Parameter `DogsAge0` der Integrationsanforderung zuweisen. Wenn ein Client den Header `puppies:true` an Ihre API sendet, sendet die Integrationsanforderung den Anfrage-Header `DogsAge0:true` an den Integrationsendpunkt. Das folgende Diagramm zeigt den Anfragelebenszyklus dieses Beispiels.

![\[Diagramm eines Beispiels zur Parameterzuweisung in API Gateway für eine Anfrage\]](http://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/parameter-mapping-example1.png)


Informationen zum Erstellen dieses Beispiels mit API Gateway finden Sie unter [Beispiel 1: Zuweisen eines Methodenanforderungsparameters zu einem Integrationsanforderungsparameter](request-response-data-mappings.md#request-response-data-mappings-example-1).

 Als weiteres Beispiel können Sie den Header-Parameter `kittens` der Integrationsantwort dem Header-Parameter `CatsAge0` der Methodenantwort zuweisen. Wenn der Integrationsendpunkt dann `kittens:false` zurückgibt, erhält der Client den Header `CatsAge0:false`. Das folgende Diagramm zeigt den Anfragelebenszyklus dieses Beispiels.

![\[Diagramm eines Beispiels zur Parameterzuweisung in API Gateway für eine Anfrage\]](http://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/parameter-mapping-example2.png)


**Topics**
+ [Beispiele für die Parameterzuweisung für REST APIs in API Gateway](request-response-data-mappings.md)
+ [Quellenreferenz für die Parameterzuweisung für REST APIs in API Gateway](rest-api-parameter-mapping-sources.md)

# Beispiele für die Parameterzuweisung für REST APIs in API Gateway
<a name="request-response-data-mappings"></a>

Die folgenden Beispiele zeigen, wie Sie Ausdrücke zur Parameterzuweisung mithilfe der API-Gateway-Konsole, OpenAPI oder CloudFormation -Vorlagen erstellen. Ein Beispiel, wie Sie die Parameterzuweisung verwenden, um die erforderlichen CORS-Header zu erstellen, finden Sie unter [CORS für REST APIs im API Gateway](how-to-cors.md). 

## Beispiel 1: Zuweisen eines Methodenanforderungsparameters zu einem Integrationsanforderungsparameter
<a name="request-response-data-mappings-example-1"></a>

Im folgenden Beispiel wird der Header-Parameter `puppies` der Methodenanforderung dem Header-Parameter `DogsAge0` der Integrationsanforderung zugewiesen. 

------
#### [ AWS-Managementkonsole ]

**So weisen Sie den Parameter der Methodenanforderung zu**

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 eine Methode aus.

   Ihre Methode muss eine Nicht-Proxy-Integration aufweisen.

1. Wählen Sie unter **Methodenanfrage-Einstellungen** die Option **Bearbeiten** aus.

1. Wählen Sie **HTTP-Anfrage-Header** aus.

1. Wählen Sie **Add header**.

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

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

1. Wählen Sie die Registerkarte **Integrationsanfrage** aus und klicken Sie dann unter **Einstellungen für Integrationsanforderungen** auf **Bearbeiten**.

   Das fügt AWS-Managementkonsole automatisch eine Parameterzuordnung von `method.request.header.puppies ` zu `puppies` für Sie hinzu, aber Sie müssen den **Namen** ändern, damit er mit dem Anforderungsheader-Parameter übereinstimmt, der von Ihrem Integrationsendpunkt erwartet wird.

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

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

1. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

Nachfolgend wird beschrieben, wie Sie überprüfen können, ob Ihre Parameterzuordnung erfolgreich war.

**Überprüfen der erfolgreichen Parameterzuweisung (optional)**

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 Headers **puppies:true** ein.

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

1. Unter **Protokoll** sollte das Ergebnis wie folgt aussehen:

   ```
   Tue Feb 04 00:28:36 UTC 2025 : Method request headers: {puppies=true}
   Tue Feb 04 00:28:36 UTC 2025 : Method request body before transformations: 
   Tue Feb 04 00:28:36 UTC 2025 : Endpoint request URI: http://petstore-demo-endpoint.execute-api.com/petstore/pets
   Tue Feb 04 00:28:36 UTC 2025 : Endpoint request headers: {DogsAge0=true, x-amzn-apigateway-api-id=abcd1234, Accept=application/json, User-Agent=AmazonAPIGateway_aaaaaaa, X-Amzn-Trace-Id=Root=1-abcd-12344}
   ```

   Der Header-Parameter der Anfrage wurde von `puppies` auf `DogsAge0` geändert.

------
#### [ CloudFormation ]

 In diesem Beispiel verwenden Sie die [Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)-Eigenschaft, um eine OpenAPI-Definitionsdatei in API Gateway zu importieren. 

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  Api:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Body:
        openapi: 3.0.1
        info:
          title: ParameterMappingExample
          version: "2025-02-04T00:30:41Z"
        paths:
          /pets:
            get:
              parameters:
                - name: puppies
                  in: header
                  schema:
                    type: string
              responses:
                "200":
                  description: 200 response
              x-amazon-apigateway-integration:
                httpMethod: GET
                uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets
                responses:
                  default:
                    statusCode: "200"
                requestParameters:
                  integration.request.header.DogsAge0: method.request.header.puppies
                passthroughBehavior: when_no_match
                type: http
  ApiGatewayDeployment:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  ApiGatewayDeployment20250219:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  Stage:
    Type: 'AWS::ApiGateway::Stage'
    Properties:
       DeploymentId: !Ref ApiGatewayDeployment20250219
       RestApiId: !Ref Api
       StageName: prod
```

------
#### [ OpenAPI ]

```
{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "ParameterMappingExample",
    "version" : "2025-02-04T00:30:41Z"
  },
  "paths" : {
    "/pets" : {
      "get" : {
        "parameters" : [ {
          "name" : "puppies",
          "in" : "header",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "200 response"
          }
        },
        "x-amazon-apigateway-integration" : {
          "httpMethod" : "GET",
          "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets",
          "responses" : {
            "default" : {
              "statusCode" : "200"
            }
          },
          "requestParameters" : {
            "integration.request.header.DogsAge0" : "method.request.header.puppies"
          },
          "passthroughBehavior" : "when_no_match",
          "type" : "http"
        }
      }
    }
  }
}
```

------

## Beispiel 2: Zuweisen mehrerer Parameter der Methodenanforderung zu verschiedenen Parametern der Integrationsanforderung
<a name="request-response-data-mappings-example-2"></a>

Im folgenden Beispiel wird der Mehrwert-Abfragezeichenfolgenparameter der Methodenanforderung `methodRequestQueryParam` dem Abfragezeichenfolgenparameter der Integrationsanforderung `integrationQueryParam` zugewiesen, und der Header-Parameter der Methodenanforderung `methodRequestHeaderParam` wird dem Pfadparameter der Integrationsanforderung `integrationPathParam` zugewiesen.

------
#### [ AWS-Managementkonsole ]

**So weisen Sie Methodenanforderungsparameter zu**

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 eine Methode aus.

   Ihre Methode muss eine Nicht-Proxy-Integration aufweisen.

1. Wählen Sie unter **Methodenanfrage-Einstellungen** die Option **Bearbeiten** aus.

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

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

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

1. Wählen Sie **HTTP-Anfrage-Headers** aus.

1. Wählen Sie **Add header**.

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

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

1. Wählen Sie die Registerkarte **Integrationsanfrage** aus und klicken Sie dann unter **Einstellungen für Integrationsanforderungen** auf **Bearbeiten**.

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

1. Klicken Sie auf **Pfadparameter hinzufügen**.

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

1. Geben Sie für **Zugeordnet von** **method.request.header.methodRequestHeaderParam** ein.

   Damit wird der von Ihnen in der Methodenanforderung angegebene Header-Parameter einem neuen Pfadparameter der Integrationsanforderung zugewiesen.

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

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

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

1. Geben Sie für **Zugeordnet von** **method.request.multivaluequerystring.methodRequestQueryParam** ein.

   Damit wird der Parameter der Mehrwert-Anfragezeichenfolge einem neuen einfachwertigen Parameter der Mehrwert-Anfragezeichenfolge der Integrationsanforderung zugewiesen.

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

1. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

------
#### [ CloudFormation ]

 In diesem Beispiel verwenden Sie die [body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)-Eigenschaft, um eine OpenAPI-Definitionsdatei in API Gateway zu importieren. 

Die folgende OpenAPI-Definition erstellt die folgenden Parameterzuordnungen für eine HTTP-Integration:
+ den Header der Methodenanforderung, mit dem Namen `methodRequestHeaderParam`, in den Pfadparameter der Integrationsanforderung, mit dem Namen `integrationPathParam`
+ die Mehrwert-Anfragezeichenfolge der Methodenanforderung, mit dem Namen `methodRequestQueryParam`, in die Anfragezeichenfolge der Integrationsanforderung, mit dem Namen `integrationQueryParam`

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  Api:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Body: 
        openapi: 3.0.1
        info:
          title: Parameter mapping example 2
          version: "2025-01-15T19:12:31Z"
        paths:
          /:
            post:
              parameters:
                - name: methodRequestQueryParam
                  in: query
                  schema:
                    type: string
                - name: methodRequestHeaderParam
                  in: header
                  schema:
                    type: string
              responses:
                "200":
                  description: 200 response
              x-amazon-apigateway-integration:
                httpMethod: GET
                uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets
                responses:
                  default:
                    statusCode: "200"
                requestParameters:
                  integration.request.querystring.integrationQueryParam: method.request.multivaluequerystring.methodRequestQueryParam
                  integration.request.path.integrationPathParam: method.request.header.methodRequestHeaderParam
                requestTemplates:
                  application/json: '{"statusCode": 200}'
                passthroughBehavior: when_no_templates
                timeoutInMillis: 29000
                type: http
  ApiGatewayDeployment:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  ApiGatewayDeployment20250219:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  Stage:
    Type: 'AWS::ApiGateway::Stage'
    Properties:
       DeploymentId: !Ref ApiGatewayDeployment20250219
       RestApiId: !Ref Api
       StageName: prod
```

------
#### [ OpenAPI ]

Die folgende OpenAPI-Definition erstellt die folgenden Parameterzuordnungen für eine HTTP-Integration:
+ den Header der Methodenanforderung, mit dem Namen `methodRequestHeaderParam`, in den Pfadparameter der Integrationsanforderung, mit dem Namen `integrationPathParam`
+ die Mehrwert-Anfragezeichenfolge der Methodenanforderung, mit dem Namen `methodRequestQueryParam`, in die Anfragezeichenfolge der Integrationsanforderung, mit dem Namen `integrationQueryParam`

```
{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Parameter mapping example 2",
    "version" : "2025-01-15T19:12:31Z"
  },
  "paths" : {
    "/" : {
      "post" : {
        "parameters" : [ {
          "name" : "methodRequestQueryParam",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "methodRequestHeaderParam",
          "in" : "header",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "200 response"
          }
        },
        "x-amazon-apigateway-integration" : {
          "httpMethod" : "GET",
          "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets",
          "responses" : {
            "default" : {
              "statusCode" : "200"
            }
          },
          "requestParameters" : {
            "integration.request.querystring.integrationQueryParam" : "method.request.multivaluequerystring.methodRequestQueryParam",
            "integration.request.path.integrationPathParam" : "method.request.header.methodRequestHeaderParam"
          },
          "requestTemplates" : {
            "application/json" : "{\"statusCode\": 200}"
          },
          "passthroughBehavior" : "when_no_templates",
          "timeoutInMillis" : 29000,
          "type" : "http"
        }
      }
    }
  }
}
```

------

## Beispiel 3: Zuweisen von Feldern aus dem JSON-Body der Anfrage zu Parametern der Integrationsanforderung
<a name="request-response-data-mappings-example-3"></a>

[Sie können Integrationsanforderungsparameter auch Feldern im JSON-Anforderungstext mithilfe eines Ausdrucks zuordnen. JSONPath ](http://goessner.net/articles/JsonPath/index.html#e2) Im folgenden Beispiel wird der Body der Methodenanforderung einem Header in einer Integrationsanforderung mit dem Namen `body-header` zugewiesen und ein Teil des Anfragebodys, ausgedrückt durch einen JSON-Ausdruck, wird einem Header in einer Integrationsanforderung mit dem Namen `pet-price` zugewiesen.

Um dieses Beispiel zu testen, geben Sie bitte eine Eingabe ein, die eine Preiskategorie enthält, wie beispielsweise die folgende:

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

------
#### [ AWS-Managementkonsole ]

**So weisen Sie Methodenanforderungsparameter zu**

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 eine `POST`-, `PUT`-, `PATCH`- oder `ANY`-Methode aus.

   Ihre Methode muss eine Nicht-Proxy-Integration aufweisen.

1. Wählen Sie unter **Methodenanfrage-Einstellungen** die Option **Bearbeiten** aus.

1. Klicken Sie auf **URL-Anforderungsheader-Parameter**.

1. Klicken Sie auf **Header-Parameter der Anfrage hinzufügen**.

1. Geben Sie unter **Name** **body-header** ein.

1. Geben Sie für **Zugeordnet von** **method.request.body** ein.

   Damit wird der Body der Methodenanforderung einem neuen Header-Parameter der Integrationsanforderung zugewiesen.

1. Klicken Sie auf **Header-Parameter der Anfrage hinzufügen**.

1. Geben Sie unter **Name** **pet-price** ein.

1. Geben Sie für **Zugeordnet von** ** method.request.body[0].price** ein.

   Damit wird ein Teil des Bodys der Methodenanforderung einem neuen Header-Parameter der Integrationsanforderung zugewiesen.

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

1. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

------
#### [ CloudFormation ]

 In diesem Beispiel verwenden Sie die [body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)-Eigenschaft, um eine OpenAPI-Definitionsdatei in API Gateway zu importieren. 

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  Api:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Body: 
        openapi: 3.0.1
        info:
          title: Parameter mapping example 3
          version: "2025-01-15T19:19:14Z"
        paths:
          /:
            post:
              responses:
                "200":
                  description: 200 response
              x-amazon-apigateway-integration:
                httpMethod: GET
                uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets
                responses:
                  default:
                    statusCode: "200"
                requestParameters:
                  integration.request.header.pet-price: method.request.body[0].price
                  integration.request.header.body-header: method.request.body
                requestTemplates:
                  application/json: '{"statusCode": 200}'
                passthroughBehavior: when_no_templates
                timeoutInMillis: 29000
                type: http
  ApiGatewayDeployment:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  ApiGatewayDeployment20250219:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  Stage:
    Type: 'AWS::ApiGateway::Stage'
    Properties:
       DeploymentId: !Ref ApiGatewayDeployment20250219
       RestApiId: !Ref Api
       StageName: prod
```

------
#### [ OpenAPI ]

Die folgende OpenAPI-Definition weist Integrationsanforderungsparameter aus Feldern im JSON-Body der Anfrage zu.

```
{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Parameter mapping example 3",
    "version" : "2025-01-15T19:19:14Z"
  },
  "paths" : {
    "/" : {
      "post" : {
        "responses" : {
          "200" : {
            "description" : "200 response"
          }
        },
        "x-amazon-apigateway-integration" : {
          "httpMethod" : "GET",
          "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets",
          "responses" : {
            "default" : {
              "statusCode" : "200"
            }
          },
          "requestParameters" : {
            "integration.request.header.pet-price" : "method.request.body[0].price",
            "integration.request.header.body-header" : "method.request.body"
          },
          "requestTemplates" : {
            "application/json" : "{\"statusCode\": 200}"
          },
          "passthroughBehavior" : "when_no_templates",
          "timeoutInMillis" : 29000,
          "type" : "http"
        }
      }
    }
  }
}
```

------

## Beispiel 4: Zuweisen der Integrationsantwort zur Methodenantwort
<a name="request-response-data-mappings-example-4"></a>

Sie können auch die Integrationsantwort der Methodenantwort zuweisen. Im folgenden Beispiel wird der Body der Integrationsantwort einem Header der Methodenantwort mit dem Namen `location` zugewiesen, der Header der Integrationsantwort `x-app-id` dem Header der Methodenantwort `id` zugewiesen und der Header der Mehrwert-Integrationsantwort `item` dem Header der Methodenantwort `items` zugewiesen.

------
#### [ AWS-Managementkonsole ]

**So weisen Sie die Integrationsantwort zu**

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 eine Methode aus.

   Ihre Methode muss eine Nicht-Proxy-Integration aufweisen.

1. Wechseln Sie zur Registerkarte **Methodenantwort** und wählen Sie unter **Antwort 200** die Option **Bearbeiten** aus.

1. Wählen Sie unter **Header-Name** die Option **Header hinzufügen** aus.

1. Erstellen Sie drei Header mit den Namen **id**, **item** und **location**.

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

1. Wechseln Sie zur Registerkarte **Integrationsantwort** und wählen Sie unter **Standard – Antwort** die Option **Bearbeiten** aus.

1. Geben Sie unter **Header-Zuweisungen** Folgendes ein.

   1. Geben Sie unter **id** **integration.response.header.x-app-id** ein.

   1. Geben Sie unter **item** **integration.response.multivalueheader.item** ein.

   1. Geben Sie unter **location** **integration.response.body.redirect.url** ein.

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

1. Sie müssen Ihre API erneut bereitstellen, damit die Änderungen wirksam werden.

------
#### [ CloudFormation ]

 In diesem Beispiel verwenden Sie die [body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)-Eigenschaft, um eine OpenAPI-Definitionsdatei in API Gateway zu importieren. 

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  Api:
    Type: 'AWS::ApiGateway::RestApi'
    Properties:
      Body:
        openapi: 3.0.1
        info:
          title: Parameter mapping example
          version: "2025-01-15T19:21:35Z"
        paths:
          /:
            post:
              responses:
                "200":
                  description: 200 response
                  headers:
                    item:
                      schema:
                        type: string
                    location:
                      schema:
                        type: string
                    id:
                      schema:
                        type: string
              x-amazon-apigateway-integration:
                type: http
                httpMethod: GET
                uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets
                responses:
                  default:
                    statusCode: "200"
                    responseParameters:
                      method.response.header.id: integration.response.header.x-app-id
                      method.response.header.location: integration.response.body.redirect.url
                      method.response.header.item: integration.response.multivalueheader.item
                requestTemplates:
                  application/json: '{"statusCode": 200}'
                passthroughBehavior: when_no_templates
                timeoutInMillis: 29000
  ApiGatewayDeployment:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  ApiGatewayDeployment20250219:
    Type: 'AWS::ApiGateway::Deployment'
    DependsOn: Api 
    Properties: 
      RestApiId: !Ref Api
  Stage:
    Type: 'AWS::ApiGateway::Stage'
    Properties:
       DeploymentId: !Ref ApiGatewayDeployment20250219
       RestApiId: !Ref Api
       StageName: prod
```

------
#### [ OpenAPI ]

Die folgende OpenAPI-Definition weist die Integrationsantwort der Methodenantwort zu.

```
{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Parameter mapping example",
    "version" : "2025-01-15T19:21:35Z"
  },
  "paths" : {
    "/" : {
      "post" : {
        "responses" : {
          "200" : {
            "description" : "200 response",
            "headers" : {
              "item" : {
                "schema" : {
                  "type" : "string"
                }
              },
              "location" : {
                "schema" : {
                  "type" : "string"
                }
              },
              "id" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "x-amazon-apigateway-integration" : {
          "type" : "http",
          "httpMethod" : "GET",
          "uri" : "http://petstore-demo-endpoint.execute-api.com/petstore/pets",
          "responses" : {
            "default" : {
              "statusCode" : "200",
              "responseParameters" : {
                "method.response.header.id" : "integration.response.header.x-app-id",
                "method.response.header.location" : "integration.response.body.redirect.url",
                "method.response.header.item" : "integration.response.multivalueheader.item"
              }
            }
          },
          "requestTemplates" : {
            "application/json" : "{\"statusCode\": 200}"
          },
          "passthroughBehavior" : "when_no_templates",
          "timeoutInMillis" : 29000
        }
      }
    }
  }
}
```

------

# Quellenreferenz für die Parameterzuweisung für REST APIs in API Gateway
<a name="rest-api-parameter-mapping-sources"></a>

Wenn Sie eine Parameterzuweisung erstellen, geben Sie die zu ändernden Parameter der Methodenanforderung oder Integrationsantwort an und legen fest, wie diese Parameter geändert werden sollen.

Die folgende Tabelle zeigt die Parameter der Methodenanforderung, die Sie zuweisen können, sowie den Ausdruck, um die Zuweisung zu erstellen. In diesen Ausdrücken *name* ist dies der Name eines Methodenanforderungsparameters. Beispielsweise verwenden Sie zur Zuweisung des Header-Parameters in der Anforderung `puppies` den Ausdruck `method.request.header.puppies`. Ihr Ausdruck muss dem regulären Ausdruck `'^[a-zA-Z0-9._$-]+$]'` entsprechen. Sie können die Parameterzuweisung in Ihrer Integrationsanforderung sowohl für Proxy- als auch für Nicht-Proxy-Integrationen verwenden. 


| **Zugewiesene Datenquelle** | **Mapping-Ausdruck** | 
| --- | --- | 
| Methodenanforderungspfad | method.request.path.name | 
| Abfragezeichenfolge der Methodenanforderung | method.request.querystring.name | 
| Mehrwertmethode Abfrage Abfrage Zeichenfolge | method.request.multivaluequerystring.name | 
| Methodenanforderungs-Header | method.request.header.name | 
| Mehrfachmethodenanforderungs-Header | method.request.multivalueheader.name | 
| Methodenanforderungstext | method.request.body | 
| Hauptteil der Methodenanforderung (JsonPath) | `method.request.body.JSONPath_EXPRESSION`. *JSONPath\$1EXPRESSION*ist ein JSONPath Ausdruck für ein JSON-Feld im Hauptteil einer Anfrage. Weitere Informationen finden Sie unter [JSONPath Ausdruck](http://goessner.net/articles/JsonPath/index.html#e2).  | 
| Stufenvariablen | stageVariables.name | 
| Kontextvariablen |  `context.name` Der Name muss eine der [unterstützten Kontextvariablen](api-gateway-mapping-template-reference.md#context-variable-reference) sein. | 
| Statischer Wert | `'static_value'`. Das *static\$1value* ist ein Zeichenfolgenliteral und muss in zwei einfache Anführungszeichen eingeschlossen werden. Beispiel, `'https://www.example.com'`. | 

Die folgende Tabelle zeigt die Parameter der Integrationsantwort, die Sie zuweisen können, sowie den Ausdruck zur Erstellung der Zuweisung. *name*Ist in diesen Ausdrücken der Name eines Antwortparameters für die Integration. Sie können Header der Methodenantwort aus beliebigen Headern der Integrationsantwort oder dem Body einer Integrationsantwort, aus \$1context-Variablen oder aus statischen Werten zuweisen. Um die Zuweisung von Parametern für eine Integrationsantwort zu verwenden, benötigen Sie eine Nicht-Proxy-Integration.


| Zugewiesene Datenquelle | Mapping-Ausdruck | 
| --- | --- | 
| Integrationsantwort-Header | integration.response.header.name | 
| Integrationsantwort-Header | integration.response.multivalueheader.name | 
| Integrationsantworttext | integration.response.body | 
| Hauptteil der Integrationsantwort (JsonPath) | `integration.response.body.JSONPath_EXPRESSION` *JSONPath\$1EXPRESSION*ist ein JSONPath Ausdruck für ein JSON-Feld im Hauptteil einer Antwort. Weitere Informationen finden Sie unter [JSONPath Ausdruck](http://goessner.net/articles/JsonPath/index.html#e2). | 
| Stufenvariable | stageVariables.name | 
| Kontextvariable |  `context.name` Der name muss eine der [unterstützten Kontextvariablen](api-gateway-mapping-template-reference.md#context-variable-reference) sein. | 
| Statischer Wert | ` 'static_value'` Das *static\$1value* ist ein Zeichenfolgenliteral und muss in zwei einfache Anführungszeichen eingeschlossen werden. Beispiel, `'https://www.example.com'`. | 