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

控制台错误

根据 API Gateway 规范,正文内容必须被字符串化。检查您的 Lambda 响应并确保您正在对您的正文对象调用 JSON.stringify(YOUR_CONTENT)

4

1 回答 1

6

这里的错误为您提供了解决方案。
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);
于 2018-09-20T11:47:05.897 回答