Ошибка автономного ответа сервера при отправке ответа JSON в лямбда-функции

var result = [{
                count : 10,
                data : [{"id":11,"id":22}]
               }];
var response = {
                statusCode: 200,
                count: result.length,
                body: result
            };
            callback(null, response);

Ошибка на консоли

В соответствии со спецификациями API Gateway содержание тела должно быть строковым. Проверьте свой лямбда-ответ и убедитесь, что вы вызываете JSON.stringify(YOUR_CONTENT) для вашего тела объекта

1 ответ

Решение

Ошибка здесь дает вам решение.
Обратный вызов API Gateway ожидает строку, а не объект javascript. Вы должны преобразовать это в строку перед передачей в обратный вызов:

var result = [{
                count : 10,
                data : [{"id":11,"id":22}]
               }];
var response = {
                statusCode: 200,
                count: result.length,
                body: result
            };
            callback(null, JSON.stringify(response));

РЕДАКТИРОВАТЬ:
Затем на стороне клиента проанализируйте строку JSON, чтобы вернуть ее объекту (в этом примере предполагается, что ваш клиент также является Javascript):

var myObject = JSON.parse(responseBody);