API Gateway/Lamdbaセットアップはhttp応答ヘッダーを返します:Lamdbaはコールバック関数を使用してjsonの一部として値を返し、Integration Responseはそれをヘッダーにマップします(integration.response.bodyを使用)
このソリューションでは、値は本文とヘッダーの両方で送り返されます。
応答本文の値を複製せずにLambda応答からヘッダーをマッピングするにはどうすればよいですか?
Lambdaプロキシ統合が有効になっている場合、応答ヘッダーをLambda出力の一部として設定でき、API GatewayはHTTP応答の一部としてそれらを返しますクライアント。
Node.jsの例:
callback(null, {
"isBase64Encoded": false, // Set to `true` for binary support.
"statusCode": 200,
"headers": {
"header1Name": "header1Value",
"header2Name": "header2Value",
},
"body": "...",
});
ここで、headers
は、nullまたは追加の応答ヘッダーを返さない場合は指定しない場合があります。
プロキシ統合用のLambda関数の出力形式 を参照してください。
DO N'TでLambaプロキシ統合が有効になっている場合、Amazon APIゲートウェイコンソールで応答ヘッダーを追加(およびマッピング)できます。
リソースに移動->メソッドの実行->メソッドの応答-> HTTPステータス200の 'Access-Control-Allow-Origin'(または何でも)ヘッダーを追加します。その後、メソッドの実行に戻ります->メソッドの統合-> HTTPステータス200-> 「Access-Control-Allow-Origin」のヘッダーマッピングを「*」(またはその他)に設定します。
このエラーを解決しました...:「要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません」