1xx (Informational): The request was received, continuing process
2xx (Successful): The request was successfully received, understood, and accepted
3xx (Redirection): Further action needs to be taken in order to complete the request
4xx (Client Error): The request contains bad syntax or cannot be fulfilled
5xx (Server Error): The server failed to fulfill an apparently valid request
Это просто возвращает ответ 200, который является успешным ответом.Вам просто нужно вернуть правильный код в зависимости от реализации.Я думаю, это то, что вы просите.
Для получения дополнительной информации о коде состояния вы можете прочитать эту вики https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Но так как вы спрашиваете о реализации, я бы сделал следующее
exports.handler = async (event) => {
// TODO implement
let statusCode = 200;
let message = 'success';
... // do stuff
statusCode = 400 // something went wrong
const response = {
statusCode: statusCode,
body: JSON.stringify(message)
};
return response;
};
Все зависит от того, как вы хотите масштабировать свое приложение.Просто помните, никогда не дублируйте код.Держите его модульным.
Кроме того, вы также можете объявить это в функции
// Somewhere else
response = function (statusCode, message) {
return {
statusCode: statusCode,
body: JSON.stringify(message)
};
};
exports.handler = async (event) => {
// TODO implement
let statusCode = 200;
let message = 'success';
... // do stuff
statusCode = 400 // something went wrong
return response(statusCode, message);
};
Проверьте шаблоны обработки ошибок в AWS.Это было бы хорошим началом, если вы уже не прочитали это.https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/
По существу вам нужно что-то из следующего
exports.handler = (event, context, callback) => {
var myErrorObj = {
errorType : "InternalServerError",
httpStatus : 500,
requestId : context.awsRequestId,
message : "An unknown error has occurred. Please try again."
}
callback(JSON.stringify(myErrorObj));
};