2

単純な文字列ではなく、AWS Lambda 関数からオブジェクトを返そうとしています。

// ...
    context.fail({
        "email": "Email address is too short",
        "firstname": "First name is too short"
    });
// ...

errorMessageエラー応答をステータス コードにマッピングするために既に を使用しましたが、これはすばらしいものでした。

// ...
    context.fail('That "username" has already been taken.');
// ...

AWS API Gateway では対応できないことをしようとしているだけですか?

また、次の記事も役に立ちました: Amazon API Gateway から返された http ステータス コードを変更する方法はありますか? .

4

4 に答える 4

2

複数の出力パラメーターが許可されないため、 の使用を に置き換えて、非常に重大な障害にのみ使用する必要context.failがあります。これに渡された最初のパラメーターで正規表現を実行することにより、マッピング テンプレートと一致させることができ、HTTP ステータス コードも応答にマップします。HTTP プロトコルを抽象化するのは の役割であるため、この応答ステータス コードを から直接渡すことはできません。context.donecontext.failLambda functionIntegration Responsecontext.doneLambdaAPI Gateway Integration Response

以下を参照してください。

context.done('Not Found:', <some object you can use in the model>);

Integration Responseパネルのこの設定:

API Gateway 統合応答エラーのマッピング

あらゆる種類のエラーに対して同様のアプローチを複製できます。また、エラー モデルを作成して応答にマップする必要があります。

于 2015-10-07T00:46:55.120 に答える