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')"
}
feita há 5 anos511 visualizações
2 Respostas
0
Resposta aceita

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

respondido há 5 anos
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

respondido há 5 anos

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas