API Gateway(REST API)でmultiValueQueryStringParametersを使用してクエリ文字列パラメータで配列を渡す

API Gateway(REST API)でmultiValueQueryStringParametersを使用してクエリ文字列パラメータで配列を渡す

API Gateway+Lambda(node.js)でクエリ文字列パラメータで配列を渡す方法です。

前提
Lambda(Node.js)
lambdaプロキシ統合使用

API Gateway

API Gateway(REST API)でmultiValueQueryStringParametersを使用してクエリ文字列パラメータで配列を渡す

クエリ文字列パラメータに「arr」を設定しています。

API Gateway(REST API)でmultiValueQueryStringParametersを使用してクエリ文字列パラメータで配列を渡す

Lambdaプロキシ統合を使用しています。

Lambda(node.js v16)

Lambdaのソースです。

exports.handler = async (event) => {
    console.log(event)
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

eventをログ出力しています。

テスト

クエリ文字列パラメータに配列をセットしてテストします。

API Gateway(REST API)でmultiValueQueryStringParametersを使用してクエリ文字列パラメータで配列を渡す

クエリ文字列はarr[]=1&arr[]=2&arr[]=3としています。

API Gateway(REST API)でmultiValueQueryStringParametersを使用してクエリ文字列パラメータで配列を渡す

event.queryStringParameters['arr[]'] // 3
event.multiValueQueryStringParameters['arr[]'] // ['1','2','3']

event.queryStringParametersではクエリ文字列パラメータの最後の値だけが取得できるようです。

配列全てを受け取るにはevent.multiValueQueryStringParametersを使用して取得します。

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました