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

时间:2016-12-07 20:18:29

标签: google-cloud-platform google-cloud-functions

我希望将其余API部署到Google Cloud Functions,但部署文档似乎表明只能使用POST请求:

  

每个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等。

想知道云功能是否可以实现上述功能,如果不是,将来是否会这样?

1 个答案:

答案 0 :(得分:2)

POST-only是文档中的拼写错误(哎呀!);我会更新。 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的一部分进行路由。一如既往,请继续关注,因为我们一直在努力开发新功能!