Difference between a test call and a regular call

0

Hi,

When I call my GET URL by using the "Method Test" tool in API Gateway, I can see the correct parameters are being passed to my lambda function.
But if I call it in any other way (curl, postman, browser, ...) then my lambda function fails because the parameters are not transfered from the request to the lambda.

Is there some special HTTP Header I need to set, I already tried sending with

Content-Type:application/json
Accept:application/json

with no success.

In case it is needed here is my mapping template:

{
    "pid" : "$input.params('pid')",
    "uid" : "$input.params('uid')",
    "category" : "$input.params('cat')",
    "limit" : "$input.params('l')",
    "filter" : "$input.params('f')",
    "slug" : "$input.params('slug')"
}
demandé il y a 5 ans511 vues
2 réponses
0
Réponse acceptée

Hi,
What errors do you get when you try to invoke from browser/postman. I attempted to replicate your problem but, your mapping template worked fine in my environment. I tried using the GET-Method Execution TEST, a chrome browser, and through Postman. It worked successfully. My invocation looks like the following:

https://xxxxxxxx.execute-api.us-east-1.amazonaws.com/prod?pid=mypid&uid=myuid&cat=dog&l=med&f=dud&slug=yellow

Did you remember to include the "stage" name with your URL?
Did you remember to "Deploy" your latest version of API?

-randy

répondu il y a 5 ans
0

Ok, thank you very much. It was a stupid problem.

I had no idea of the existence of the "Deploy API" action, that's why the changes I did where not being used. It is fixed now, all I had to do was deploy my new version of the API

répondu il y a 5 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions