統合レスポンスなんか選択できないんだけど!!!
はい。大変困りました。統合レスポンスが無いとエラーコードを正規表現で仕分けできません。
原因はLambda プロキシ統合の使用です。
原因がわかれば、一端それを切って見ましょう。
切りました
(望んでいないステータスで)エラーでました
戻しましょう。
プロキシ統合がなんか頑張ってくれてたおかげて私のAPIはエラー以外上手く言ってた事がわかりました。できればそのままにしたいです。
そもそもLambda側でエラーの出し方が間違ってるのでは?
Amazon API Gatewayで適切なHTTPステータスコードを返す方法や[AWS] Lambda + API Gatewayでサーバレスを始める 2、さらにはAPI Gateway で Lambda エラーを処理する(公式ドキュメント)を見た結果,
index.js(lambda/nodejs/抜粋)
exports.handler = function(event, context, callback) {
(略)
callback(new Error(エラー文"));
};
みたいな事にするとエラーが作られるとの事。さっそく試してみましょう。
だめでした。また、このエラーで一緒に出ることを望んでいたエラー文も出ていません。
解決
index.js(lambda/nodejs)
(略)
let response = {
statusCode: 400,
headers: {"Access-Control-Allow-Origin" : "*"},
body:"エラー文",
};
}
callback(null,response);
シンプルにこれでOKでした。
ちゃんと400で返ってきてます。
エラーもプロキシ統合がなんか上手いことやってくれてるんでしょうね。便利!