AWS API Gateway 返回整个 Lambda 响应对象作为正文

问题描述 投票:0回答:1

我在 AWS API Gateway 中创建了一个与 python Lambda 函数集成的 API。一切正常,除了 API 返回整个 python 响应对象作为响应正文。以下是 Lambda 函数返回到 AWS API GW 的响应的静态版本:

response = {
  "statusCode" : 400,
  "headers" : {
    "Content-Type" : "application/json"
  },
  "body": <<variable containing some JSON>>
}

我的理解是,这是响应的正确格式——AWS API GW 应该相应地解析它。

但是当我运行 API 调用时,AWS API GW 将整个响应对象作为正文返回,并忽略 statusCode。

这是显示此行为的屏幕截图。

我已经使用映射尝试了 API 本身的各种配置,但无法完成这项工作。有什么想法吗?

aws-lambda aws-api-gateway
1个回答
0
投票

我猜这么久之后您已经找到了答案,但对于其他遇到此问题并试图找出答案的人来说,它位于 API 网关方法定义中 - 您必须确保

Lambda proxy integration
设置为 true :

转到您的 API 网关,导航到 lambda 正在处理的方法。单击

Integration request
选项卡检查设置,并根据需要进行编辑。

Screenshot showing where to find the Lambda proxy integration setting

© www.soinside.com 2019 - 2024. All rights reserved.