首页 > 解决方案 > API Gateway 中的 AWS Lambda 集成响应 - {"message": "Internal server error"}

问题描述

我希望这不是重复的。我搜索了其他条目,但似乎没有一个可以解决我看到的问题。

我们有一个用 Python 3.6 编写的 AWS Lambda 函数。Lambda 函数使用 Lambda 代理集成通过 API Gateway 执行。该功能启动没有问题并且处理执行没有问题。但是,无论我们在尝试发送响应时似乎做什么,客户端都会收到“{“message”:“内部服务器错误”}”我不知道这很重要,但我们测试的客户端是 Postman。

我们已经剥离了所有的业务逻辑并隔离了返回的代码,但我们仍然遇到同样的问题。

代码是:

    import json
    def lambdaTest(event, context)
        response = {}
        dummybody = {'body':'something'}
        response['statusCode'] = 200
        response['body'] = dummybody
        response["headers"] = {"Content-Type": "application/json"},
        return json.dumps(response)

我确定我做错了什么很简单,因为我似乎没有多少关于这个问题的帖子。我将非常感谢任何帮助。谢谢。

标签: pythonamazon-web-servicesresponseaws-api-gateway

解决方案


伙计们,我想通了......一个愚蠢的问题和一件事我没有意识到响应的格式。愚蠢的问题是我把标题元素变成了一个数组,因为我有一个尾随逗号(我看了 100 次并没有看到它)。但即使我注释掉设置标题,它仍然有同样的问题。我没有意识到的响应方面是正文应该是一个字符串。因此,我必须将我想要返回的 JSON 文档封装在一个字符串中。这解决了问题。

我希望这可以帮助别人


推荐阅读