¿Cómo resuelvo los errores «Se especificó una expresión de asignación no válida» de API Gateway?

2 minutos de lectura
0

Utilicé una plantilla de AWS CloudFormation (o definición de OpenAPI) para crear una API de Amazon API Gateway con un recurso de proxy. Cuando intento añadir parámetros de ruta URL a la API, aparece el mensaje de error «Se especificó una expresión de asignación no válida». ¿Cómo soluciono el error?

Descripción breve

API Gateway devuelve un error especificado con una expresión de asignación no válida cuando el parámetro de ruta del proxy {proxy+} no tiene una asignación de parámetros de ruta URL definida.

Para resolver este error, haga lo siguiente:

Resolución

Para plantillas de CloudFormation

1.    Actualice la plantilla de CloudFormation para que el valor RequestParameters se establezca en true.

Ejemplo de plantilla de CloudFormation: 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.    Actualice su API mediante la plantilla de CloudFormation para actualizar la pila de AWS CloudFormation.

Nota: Para obtener más información sobre cómo actualizar los recursos de API Gateway, consulte la referencia de tipos de recursos de Amazon API Gateway.

Para definiciones de OpenAPI

1.    Actualice la definición de la API para que los parámetros de la sección x-amazon-apigateway-any-method tengan los siguientes valores:

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

....

....

}

2.    Para actualizar su API, importe el archivo de definición de API actualizado a API Gateway.

Nota: Para obtener más información, consulte Describir parámetros en el sitio web de OpenAPI.

Probar la configuración

1.    En la consola de API Gateway, elija el nombre de su API.

2.    Añada los parámetros de la ruta URL según sea necesario para su caso de uso. Si el parámetro de ruta de proxy incluye una asignación de parámetros de ruta URL correctamente definida, no aparece ningún error.


Información relacionada

Objeto x-amazon-apigateway-integration.requestParameters

Configuración de una integración de proxy con un recurso de proxy

Configuración de transformaciones de datos para las API de REST

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años