Я пытаюсь добавить метод POST HTTP к своему шлюзу AWS API. Я использую структуру SAM с Python.
Я обнаружил, что существует разница в "теле" ответа, когда он создается с моего рабочего стола (curl или почтальон) и AWS API Gateway 'TEST'
Прямо сейчас команда «POST» печатает только объект «событие», полученный lambda_handler. (Я использую объект для хранения события, как вы можете видеть ниже)
def add(self):
response = {
"statusCode": 200,
"body": json.dumps(self._event)
}
return response
Когда я использую опцию «ТЕСТ» в консоли шлюза API, вводя:
{"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>
}
Как вы думаете, в чем разница между двумя тестами?