У меня есть конечная точка, определенная в AWS API Gateway, которая использует лямбда-интеграцию. Функция Lambda ожидает параметры строки запроса, которые будут доступны в переданном ей объекте event
.
Мой API на example.execute-api.us-east-1.amazonaws.com/dev/my-resource
, и у меня есть параметры строки запроса, такие как foo=test
.
Таким образом, полная конечная точка будет
example.execute-api.us-east-1.amazonaws.com/dev/my-resource?foo=test
Я могу посетить эту конечную точку в браузере или запросить ее у почтальона и получить ожидаемый ответ, поэтому я знаю, что API-шлюз настроен правильно. Однако, когда я использую Javascript SDK, я не могу передать параметры строки запроса.
Согласно последней части этой страницы из документов , я должен иметь возможность просто передать объект JSON, который будет интерпретироваться как параметры строки запроса, например:
var apiClient = apigClientFactory.newClient();
var requestParams = {"foo": "test"};
apiClient.myResourceGet(requestParams).then(function(result) {
// Do something with the response
});
Однако в моем случае requestParams
, похоже, игнорируется. В лямбда-функции event
имеет пустое поле queryStringParameters
. Как передать этой конечной точке ключ / значения, определенные в объекте requestParams
в качестве параметров строки запроса?