【问题标题】:AWS LAMBDA: Accessing request headers and body of different content types?AWS LAMBDA:访问不同内容类型的请求标头和正文?
【发布时间】:2016-05-06 19:20:22
【问题描述】:

我正在尝试使用 aws api 网关部署 lambda 函数。通过关注此博客,我能够使用 Content-Type: application/json 成功部署和测试 POST 和 GET 方法:http://kennbrodhagen.net/2015/12/06/how-to-create-a-request-object-for-your-lambda-event-from-api-gateway/

我希望我的同一个 lambda 函数也可以处理内容类型的请求:text/plainx-www-form-urlencoded

集成模板的问题是我们必须事先定义内容类型。因此,如果我制作了Content-type: text/plain 的集成模板,当text/plain 的api 请求发送到url 时,我该如何调用该集成模板。 如何根据 api 请求的 Content-Type 调用不同的集成模板?

有什么建议吗?

谢谢。

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway


    【解决方案1】:

    我不知道你的问题是否正确。

    据我了解,如果您传递任何标题信息或查询字符串参数并且内容类型是文本/纯文本,您可以像这样映射模板

    {
        "prod_Id" : "$input.params('prod_Id')"
    }
    

    其中产品 ID 可以是标头或查询字符串参数。

    你可以在我的blog'how to pass query string section找到它

    【讨论】:

    • 如果我创建两个集成映射模板 1. text/plain 2. application/json. ?
    • 所以无论您从哪个模板获得的任何请求都会相应地工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2015-10-01
    • 2017-04-24
    • 2013-09-09
    • 2016-01-01
    • 2020-08-08
    • 1970-01-01
    相关资源
    最近更新 更多