首页 文章

只有POST请求可用于Google Cloud Functions HTTP触发器

提问于
浏览
0

我正在寻求为Google Cloud Functions部署一个rest API,但是部署文档似乎表明它只能使用POST请求:

对函数 endpoints 的每个HTTP POST请求(部署输出的web_trigger.url参数)都将触发函数执行 . 函数执行的结果将在响应正文中返回 . - https://cloud.google.com/functions/docs/deploying/

理想情况下,我希望将路径与通配符以及不同的HTTP方法相关联

POST /user
GET  /user/:id
PUT  /user/:id
DEL  /user/:id

使用通配符值在函数上下文中填充一些params对象,如Rails,Hapijs等 .

想知道 Cloud 功能是否可以实现上述功能,如果不是,将来是否可以使用?

1 回答

  • 2

    POST只是文档中的拼写错误(哎呀!);我会更新的 . Google Cloud Function HTTP功能支持GET,PUT,POST,DELETE和OPTIONS .

    (请参阅https://cloud.google.com/functions/docs/writing/http处的HTTP函数文档)

    如果函数需要处理多个HTTP方法(GET,PUT,POST等),则只需检查请求的方法属性即可 .

    您可以通过req.method检查HTTP方法,即

    switch (req.method) {
      case 'GET':
        handleGET(req, res);
        break;
      case 'PUT':
        handlePUT(req, res);
        break;
      default:
        res.status(500).send({ error: 'Something blew up!' });
        break;
    }
    

    至于你的问题的路由/映射部分,目前现在没有任何额外的路由作为GCF的一部分 . 一如既往,请继续关注,因为我们一直致力于新功能!

相关问题