我试图在我的API网关中添加一个POST HTTP方法。我在Python中使用SAM框架。
我发现,当从我的桌面(curl或postman)和AWS API网关‘测试’生成响应时,响应的“主体”是不同的。
现在,"POST“命令只打印lambda_handler接收的'event‘对象。(我使用一个对象来存储事件,如下所示)
def add(self):
response = {
"statusCode": 200,
"body": json.dumps(self._event)
}
return response当我使用API网关控制台的“TEST”选项时,输入如下:
{"username":"xyz","password":"xyz"}我收到以下输出:
{
"body": "{\"username\":\"xyz\",\"password\":\"xyz\"}",
<the rest of the response>
}但是,当我发送卷发(或邮递员)请求时:
curl --header "Content-Type: application/json" --request POST --data '{"username":"xyz","password":"xyz"}' <aws api gateway link>我得到以下答复:
{
"body": "eyJ1c2VybmFtZSI6Inh5eiIsInBhc3N3b3JkIjoieHl6In0="
<the rest of the response>
}你为什么认为这两种测试有区别?
发布于 2018-11-12 05:39:18
Curl和Postman似乎是自动编码身份验证凭据的Base64。
反应是一样的。后一个响应是第一个响应的Base64 64编码令牌。
https://stackoverflow.com/questions/53256069
复制相似问题