この方法です。 s-templates.jsonを使用してこのコードベースを追加するAPI応答を管理できます。
ValidationError":{
"selectionPattern": ".*ValidationError.*",
"statusCode": "400",
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers": "'Content-
Type,X-Amz-Date,Authorization,X-Api-Key,Cache-Control,Token'",
"method.response.header.Access-Control-Allow-Methods": "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
},
"responseModels": {},
"responseTemplates": {
"application/json": "$input.path('$.errorMessage')"
}
}
このようにして、私は400のstatusCodeと有効なメッセージで自分の応答を返します。
module.exports.handler = function(event, context) {
const validationError={
statsCode:"ValidationError",
section:"Login",
validationType:"emailConfirmation",
message:"Email is not confirmed",
otherInfo:"Would you like to get the email again?",
client:"web|ios|android"
}
context.done(null, response);
};
申し訳ありません。私はcontext.failを使用していません。 context.doneを使用してエラーを送信しています。ステータスコードと有効なmsgをクライアントに送信する必要があります。ユーザーが有効なパスワードなしでログインしようとしたときと同様に、私はメッセージを送信する必要があります。 –
サンプルを完全なラムダに更新しました。更新されたサンプルでは、依然として応答が間違って設定されています。 –
ステータスコード200を返します。有効なメッセージとともにステータスコード400を送信する必要があります。ユーザーが有効なパスワードなしでログインしようとすると、ステータスコード400と有効なメッセージが送信されます。 –