When you select the option to use the AWS_PROXY, AWS takes care of building the request that goes to Lambda instead of having to craft that template yourself. Why doesn't AWS make that template available to users who want to use it? The big limiting factor is that if you use AWS_PROXY, then you are giving up both control of the request and response format. I would like to use it for my request and then craft a custom response template.
Hey noink! I'd like to know your use case, what you can't accomplish using AWS_PROXY integration response (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-integration-settings-integration-response.html). A quote from a friend: "Using non-proxy integration for Lambda is not recommended since the VTL does not have a good experience and template transformation can be impacted during Garbage Collector pressure."
I recently had to create an application that served both an XML and CSV response. I would have had no issue using the standard proxy input, but I needed a non-JSON response.
Wouldn't the proxy integration, returning the file as binary in base64, and setting the right header (application/xml or text/csv), work for your use case? Here is an example: https://docs.aws.amazon.com/apigateway/latest/developerguide/lambda-proxy-binary-media.html. The requester will not receive the JSON, but the content that was binary encoded in base64.