Ich habe eine AWS CloudFormation-Vorlage oder OpenAPI-Definition verwendet, um eine Amazon API Gateway-API mit einer Proxy-Ressource zu erstellen. Wenn ich versuche, URL-Pfadparameter zur API hinzuzufügen, erhalte ich die Fehlermeldung „Invalid mapping expression specified“ (Ungültiger Zuordnungsausdruck angegeben). Wie behebe ich den Fehler?
Kurzbeschreibung
API Gateway gibt den Fehler Invalid mapping expression specified (Ungültiger Zuordnungsausdruck angegeben) zurück, wenn der Proxy-Pfadparameter {proxy+} keine definierte URL-Pfadparameterzuordnung hat.
Um diesen Fehler zu beheben, gehen Sie wie folgt vor:
Lösung
Für CloudFormation-Vorlagen
1. Aktualisieren Sie die CloudFormation-Vorlage, sodass der Wert RequestParameter auf true gesetzt ist.
Beispiel für eine CloudFormation-Vorlage mit RequestParameters
...
.
.
ProxyMethod:
Type: 'AWS::ApiGateway::Method'
Properties:
.
.
RequestParameters:
method.request.path.proxy: true
Integration:
RequestParameters:
integration.request.path.proxy: 'method.request.path.proxy'
IntegrationHttpMethod: ANY
.
.
...
2. Aktualisieren Sie Ihre API, indem Sie die CloudFormation-Vorlage verwenden, um den AWS CloudFormation-Stack zu aktualisieren.
Hinweis: Weitere Informationen zum Aktualisieren von API Gateway-Ressourcen finden Sie unter Referenz zum Amazon API Gateway-Ressourcentyp.
Für OpenAPI-Definitionen
1. Aktualisieren Sie Ihre API-Definition, sodass die Parameter im Abschnitt x-amazon-apigateway-any-method die folgenden Werte haben:
"x-amazon-apigateway-any-method": {
"parameters": [
{
"name": "proxy",
"in": "path",
"required": true,
"type": "string"
}
]
....
....
}
2. Aktualisieren Sie Ihre API, indem Sie Ihre aktualisierte API-Definitionsdatei in API Gateway importieren.
**Hinweis:**Weitere Informationen finden Sie unter Beschreibung von Parametern auf der OpenAPI-Website.
Testen des Setups
1. Wählen Sie in der API Gateway-Konsole den Namen Ihrer API aus.
2. Fügen Sie nach Bedarf URL-Pfadparameter für Ihren Anwendungsfall hinzu. Wenn Ihr Proxy-Pfadparameter eine korrekt definierte URL-Pfadparameterzuordnung enthält, wird kein Fehler angezeigt.
Verwandte Informationen
X-Amazon-APIGateway-Integration.RequestParameter-Objekt
Einrichten einer Proxy-Integration mit einer Proxy-Ressource
Einrichten von Datentransformationen für REST-APIs