はじめに
AWSLambdaのNodejsでプロキシ統合のAPIGateway経由で
event.bodyを取得しようとした際にundefinedになりハマったので、メモ
該当のコード
APIGatewayから渡ってきたパラメータを取得しようと参照するとundefinedの参照エラーになる。
exports.handler = async (event, context) => {
// event.bodyがundefinedになる
JSON.parse(event.body).hoge
}
解決した方法
以下のように先にif文で確認してから参照するとundefinedにならない。
exports.handler = async (event, context) => {
if (event.body) {
JSON.parse(event.body).hoge
}
}
終わりに
上記の方法で問題は解決できたが、
なぜundefinedになるのかがよくわからないが公式の実装サンプルなどでもif文で確認している。