我希望将其余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等。
想知道云功能是否可以实现上述功能,如果不是,将来是否会这样?
答案 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的一部分进行路由。一如既往,请继续关注,因为我们一直在努力开发新功能!