【问题标题】:Request method not recognized after promisification承诺后无法识别请求方法
【发布时间】:2016-03-13 05:27:50
【问题描述】:

我使用 AWS API Gateway 和 Lambda 构建了一个 API,现在我正在编写端到端测试,我正在使用 bluebird 的 Promise 和请求,所以我这样承诺请求:

Promise.promisifyAll(require('request')); Promise.promisifyAll(request);

现在,当我使用 request.methodAsync 发出请求(POST、PUT、GET)时,API 网关无法识别该方法!

我推出 Jasmine 时:

NODE_DEBUG=请求茉莉花

我可以看到 method = 'POST' 或其他什么,但 API 仍然无法识别我使用承诺请求发出的请求的方法!有人遇到这种情况吗?

【问题讨论】:

    标签: node.js amazon-web-services request jasmine aws-api-gateway


    【解决方案1】:

    您好,我来自 Api Gateway 团队。只要将请求发送到已部署 API 上的有效资源路径/HTTP 方法对,Api Gateway 就会接受它。请注意,您需要将阶段名称作为 URI 中的第一个路径部分(参见阶段页面上 Api 网关控制台中的示例)。

    如果您正在调用正确的 API 资源,则该问题听起来像是客户端错误。

    杰克

    【讨论】:

    • 感谢您的帮助,原来Promisify请求模块时有一个错误,所以我使用了另一个nodejs模块。现在一切正常,但我仍然无法理解我的 Lambda 函数调用的事件是如何没有方法的,特别是它来自映射模板,API 网关根据它得到的请求构建它?!跨度>
    猜你喜欢
    • 2013-02-19
    • 2021-11-16
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多