3

I have an endpoint defined in AWS API Gateway that uses a Lambda integration. The Lambda function expects query string parameters that would be available in the event object passed to it.

My API is at example.execute-api.us-east-1.amazonaws.com/dev/my-resource and I have query string parameters like foo=test.

So the full endpoint would be

example.execute-api.us-east-1.amazonaws.com/dev/my-resource?foo=test

I can visit this endpoint in a browser or request it in postman, and get the expected response, so I know that the API Gateway is configured properly. However when I use the Javascript SDK, I can't seem to pass query string parameters.

According to the last part of this page from the docs, I should be able to just pass in a JSON object that will be interpreted as query string parameters, like so:

var apiClient = apigClientFactory.newClient();
var requestParams = {"foo": "test"};
apiClient.myResourceGet(requestParams).then(function(result) {
    // Do something with the response
});

However, in my case requestParams seems to be ignored. In the Lambda function, the event has an empty queryStringParameters field. How can I pass the key/values defined in the requestParams object as query string parameters to this endpoint?

The Unknown Dev
  • 3,039
  • 4
  • 27
  • 39

0 Answers0