J'ai créé une API API Gateway avec une ressource de proxy à l'aide d'AWS CloudFormation ou OpenAPI (Swagger). Lorsque j'essaie d'ajouter des paramètres de chemin d'adresse URL à l'API, je reçois le message d'erreur « Invalid mapping expression specified » (Expression de mappage définie non valide). Comment éliminer cette erreur ?

Date de la dernière mise à jour : 10/06/2019

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 j'essaie d'ajouter des paramètres de chemin d'adresse URL à l'API, je reçois le message d'erreur « Invalid mapping expression specified » (Expression de mappage non valide définie). Comment résoudre ce problème ?

Brève description

Cette erreur peut se produire si vous ne définissez pas un mappage de paramètre de chemin d'adresse URL pour le paramètre de chemin proxy {proxy+} (également appelé « variable de chemin gourmande »).

Dans un modèle AWS CloudFormation, définissez la propriété RequestParameters de la section AWS::ApiGateway::Method. Dans une définition OpenAPI, définissez la section des paramètres sous l'objet x-amazon-apigateway-any-method.

Résolution

Modèle AWS CloudFormation

1.    Mettez à jour votre modèle, en définissant la propriété RequestParameters comme suit :

"RequestParameters": {"method.request.path.proxy":true}

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

2.    Mettez à jour la pile AWS CloudFormation en utilisant votre modèle. Cette action met à jour votre API.

Définition OpenAPI

1.    Mettez à jour votre définition d'API, en définissant les paramètres dans la section x-amazon-apigateway-any-method comme suit :

      "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.

(Facultatif) Vérifier les modifications

Après avoir mis à jour votre modèle AWS CloudFormation ou votre définition OpenAPI, puis votre API, vous pouvez vérifier que le problème est résolu en consultant la console API Gateway.

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. L'erreur doit avoir disparu.