2

I'm using the proxy integration with my Java lambda function. The input for the lambda handler is a JSON object that represents an incoming request. It has a body, headers, query params and so on. But it doesn't include the source URL that is parsed by the API Gateway for the body, query params and etc. Is there a way to get it?

The thing is API Gateway doesn't support arrays in query parameters. Example: /endpoint?numbers=1&numbers=2. Seems, the only way to pass an array is to pass it as a JSON array string /endpoint?numbers=[1,2] but it is not always suitable. So I want to parse the URL by myself.

1
  • Has this changed at all, or has anyone found a way to get the full URL since this was posted? Commented Aug 4, 2020 at 18:24

3 Answers 3

3

Unfortunately, API Gateway doesn't provide you with the full URL for you to parse yourself.

If you have the option of using the POST method to /endpoint, you might consider sending a request body instead of query string parameters.

Sign up to request clarification or add additional context in comments.

1 Comment

Has this changed at all, or has anyone found a way to get the full URL?
0

The 'path' field inside the 'requestContext' field contains the path of API gateway resource. See docs for more details.

1 Comment

The "path" value does not include the query params portion of the request url.
0

you can inject the UriInfo object. It holds all the information you need.

@Context
UriInfo uri;

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.