POST HTTP メソッドを AWS API Gateway に追加しようとしています。Python で SAM フレームワークを使用しています。
デスクトップ (curl または postman) と AWS API Gateway 'TEST' から生成された応答の「本文」に違いがあることがわかりました。
現在、「POST」コマンドは、lambda_handler が受け取った「イベント」オブジェクトのみを出力します。(以下に示すように、オブジェクトを使用してイベントを保存しています)
def add(self):
response = {
"statusCode": 200,
"body": json.dumps(self._event)
}
return response
API Gateway コンソールの「TEST」オプションを使用している場合、次の入力を使用します。
{"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>
}
2つのテストに違いがあるのはなぜだと思いますか?