3

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つのテストに違いがあるのはなぜだと思いますか?

4

1 に答える 1