Skip to content Skip to sidebar Skip to footer

Post Request Not Recognizing Headers

I am trying to make a POST request to an AWS Lambda Python Script I have set up. I have already heard about solving the issue of Access-Control-Allow-Origin by adding a header to

Solution 1:

So after reading through the comments on my question, I decided it was worth going and taking a harder look at the way I had my API Gateway, and Lambda service set up on AWS.

I began using the curl utility in order to try and test my post-call from a terminal utility and found that there it was also failing, but I was able to use CloudWatch to debug, the issue and finally get it working.

The problem that I was facing with my curl Request was that I was not properly formatting the JSON input, but even when I was the Lambda was transforming the event improperly, not resulting in a Dict, as expected.

The curl call I was using can be seen:

curl -X POST  https://myURL.execute-api.myREGION.amazonaws.com/stage/yourPOST \
-d '{"inputOne":80000,"inputTwo":85}'

But in order to read that input properly, and then work with it, I had to update my code in the Lambda to reflect parsing the input properly, this updated lambda code can be found here. The event object that you are passing to this lambda is a DICT object, so on the first line, we use JSON.loads to decode the "body" value of the event, into a dict that we store as body. Then to get the value of the two attributes, we use the command body.get("yourKey").

def yourPOST(event, context):

    body=json.loads(event["body"])
    a=body.get("inputOne")
    c=body.get("inputTwo")

After making these changes the call from my React site works without error! If anyone has any questions feel free to comment, I hope this helped!

Post a Comment for "Post Request Not Recognizing Headers"