Я пытаюсь добавить метод POST HTTP к своему AWS API Gateway. Я использую SAM Framework с Python.
Я обнаружил, что существует разница в "теле" ответа, когда он генерируется с моего рабочего стола (curl или почтальон) и шлюза AWS API 'TEST'
Сейчас команда «POST» печатает только объект «событие», полученный lambda_handler. (Я использую объект для хранения события, как вы можете видеть ниже)
def add(self):
response = {
"statusCode": 200,
"body": json.dumps(self._event)
}
return response
Когда я использую опцию 'TEST' консоли API Gateway, введите:
{"username":"xyz","password":"xyz"}
Я получаю следующий вывод:
{
"body": "{\"username\":\"xyz\",\"password\":\"xyz\"}",
<the rest of the response>
}
Однако, когда я отправляю запрос curl (или почтальона):
curl --header "Content-Type: application/json" --request POST --data '{"username":"xyz","password":"xyz"}' <aws api gateway link>
Я получаю следующий ответ:
{
"body": "eyJ1c2VybmFtZSI6Inh5eiIsInBhc3N3b3JkIjoieHl6In0="
<the rest of the response>
}
Как вы думаете, почему между этими двумя тестами есть разница?