Come posso risolvere gli errori "Invalid mapping expression specified" da API Gateway?

2 minuti di lettura
0

Ho usato un modello AWS CloudFormation, o definizione OpenAPI, per creare un'API del Gateway Amazon API con una risorsa proxy. Quando provo ad aggiungere i parametri del percorso URL all'API, ricevo il messaggio di errore "Invalid mapping expression specified". Come posso risolvere l'errore?

Breve descrizione

API Gateway restituisce un errore Invalid mapping expression specified quando il parametro del percorso proxy {proxy+} non ha una mappatura definita dei parametri del percorso URL.

Per risolvere questo errore, procedi come segue:

Risoluzione

Per modelli CloudFormation

1.    Aggiorna il modello CloudFormation in modo che il valore RequestParameters sia impostato su true.

Esempio di RequestParameters del modello 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
        .
        .
...

2.    Aggiorna l’API utilizzando il modello CloudFormation per aggiornare lo stack di AWS CloudFormation.

Nota: per ulteriori informazioni su come aggiornare le risorse API Gateway, consulta il riferimento al tipo di risorsa Gateway Amazon API.

Per le definizioni OpenAPI

1.    Aggiorna la definizione dell'API in modo che i parametri nella sezione x-amazon-apigateway-any-method abbiano i seguenti valori:

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

....

....

}

2.    Aggiorna l’API importando il file di definizione API aggiornato in API Gateway.

Nota: per ulteriori informazioni, consulta Descrizione dei parametri sul sito Web OpenAPI.

Prova la configurazione

1.    Nella console API Gateway, scegli il nome dell’API.

2.    Aggiungi i parametri del percorso URL in base al tuo caso d'uso. Se il parametro del percorso proxy include una mappatura dei parametri del percorso URL definita correttamente, non viene visualizzato alcun errore.


Informazioni correlate

x-amazon-apigateway-integration.requestParameters object

Configurazione di un'integrazione proxy mediante una risorsa proxy

Configurazione delle trasformazioni dei dati per le API REST