以下のコマンドでサーバーレス フレームワークの関数を作成しました。
sls function create some/api
次に、schelton コードが作成されました。
'use strict';
module.exports.handler = function(event, context, cb) {
return cb({
message: 'Go Serverless! Your Lambda function executed successfully!'
});
};
そして、応答テンプレートは以下のようなものです:
s-function.json
"responses": {
"400": {
"statusCode": "400"
},
"default": {
"statusCode": "200",
"responseParameters": {},
"responseModels": {
"application/json;charset=UTF-8": "Empty"
},
"responseTemplates": {
"application/json;charset=UTF-8": ""
}
}
}
しかし、 のようなコールバック関数にエラーオブジェクトを返すとcb(err, null)
、ちゃんとエラーメッセージが表示されるのですが、statusCode が 200 になっています。
のようなコールバック関数を呼び出すように変更した場合cb("400", err)
、statusCode は適切に 400 を返しますが、応答本文は良くありません: {"errorMessage":"400"}
.
ボットの statusCode (400 だけでなく、401、403、404、500 など) とエラー メッセージを表示するための適切な設定はありますか?