Comment résoudre une erreur « Invalid mapping expression specified. » (expression de mappage non valide spécifiée) à partir d'API Gateway ?

Dernière mise à jour : 22-03-2021

J'ai utilisé une définition modèle AWS CloudFormation ou OpenAPI (Swagger) pour créer une API Amazon API Gateway avec une ressource de proxy. Lorsque je tente d'ajouter des paramètres de chemin URL à l'API, j'obtiens un message d'erreur « Invalid mapping expression specified. » (expression de mappage non valide spécifiée). Comment puis-je corriger ce problème ?

Brève description

API Gateway renvoie une Invalid mapping expression specified (expression de mappage non valide spécifiée) lorsque le paramètre de chemin d'accès proxy {proxy+} n'a pas de mappage de paramètre de chemin d'URL défini.

Pour résoudre l'erreur, procédez comme suit :

Résolution

Pour les modèles CloudFormation

1.    Mettez à jour le modèle CloudFormation de sorte que la valeur RequestParameters soit définie sur true (vrai).

Exemple de RequestParameters pour modèle CloudFormation

...
.
.
  ProxyMethod:
    Type: 'AWS::ApiGateway::Method'
    Properties:
      .
      .
      RequestParameters:
       
        method.request.path.proxy: true
       
      Integration:
        RequestParameters:
          integration.request.path.proxy: 'method.request.path.proxy'
       
        IntegrationHttpMethod: ANY
        .
        .
...

Pour plus d'informations sur la mise à jour de ressources API Gateway, consultez Référence des types de ressources Amazon API Gateway.

2.    Mettez à jour votre API à l'aide du modèle CloudFormation pour mettre à jour la pile AWS CloudFormation .

Pour les définitions OpenAPI

1.    Mettez à jour la définition de votre API de sorte que parameters (paramètres) dans la section x-amazon-apigateway-any-method ait les valeurs suivantes :

      "x-amazon-apigateway-any-method": {
                "parameters": [
          {
            "name": "proxy",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ]

....

....

}

Pour plus d'informations, consultez Description des paramètres sur le site Web OpenAPI.

2.    Mettez à jour votre API en important votre fichier de définition d'API mis à jour dans API Gateway.

Tester la configuration

1.    Dans la console API Gateway, choisissez le nom de votre API.

2.    Ajoutez les paramètres de chemin d'adresse URL en fonction des besoins de votre cas d'utilisation.
Remarque : l'erreur Invalid mapping expression specified (expression de mappage non valide spécifiée) ne doit pas apparaître.