Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS API Gateway: why post request body is encoded base64?

Am using API gateway to trigger a Lambda function, using Lambda Proxy integration, however the request body is encoded base64, why is that? and how can I change it to be JSON to stringify JSON?

like image 978
user3462064 Avatar asked Jun 21 '20 17:06

user3462064


1 Answers

If I am understanding your question correct, you are sending non base64 encoded JSON payload as request to API gateway, however your Lambda is receiving it as base64 encoded string.

It seems that you are not setting application/json as your request content-type. You can see in this table how API gateway decides whether Integration Request Payload (last column) is Base64-encoded string or some other type.

https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings-workflow.html

like image 199
Kavithakaran Kanapathippillai Avatar answered Sep 21 '22 14:09

Kavithakaran Kanapathippillai