【问题标题】:Implementing a REST interface with Firebase Cloud Functions使用 Firebase Cloud Functions 实现 REST 接口
【发布时间】:2018-01-12 23:55:12
【问题描述】:

为云函数提供的 HTTP API 将所有 HTTP 方法混合到一个 API 调用中:

functions.https.onRequest((req, res) => { ... });

这需要一个开关来分离 GET、POST、PUT 和 DELETE。有没有更好的类似于 Express API 的方法:

app.get()
app.post()
app.put()
app.delete()

这将使我们能够更干净地实现基于资源的端点。

【问题讨论】:

    标签: node.js express firebase google-cloud-functions


    【解决方案1】:

    Cloud Functions for Firebase 允许您提供一个 Express.js 应用程序来实现 HTTP API(或您想对 Express.js 应用程序执行的任何其他操作)。

    您可以在 this sample code 中查看此示例。

    需要注意的重要一点是,您可以创建一个 express 应用,使用所需的端点对其进行配置,然后将其交给 Cloud Functions:

    const express = require('express');
    const app = express();
    app.get('/hello', (req, res) => {
      res.send(`Hello ${req.user.name}`);
    });
    exports.app = functions.https.onRequest(app);
    

    【讨论】:

    • 太完美了!感谢您的快速回复,@doug_stevenson
    • 很奇怪,Cloud Functions 只是 Express 的一个包装器,但是很有帮助,谢谢。
    • @corysimmons Express 是一个非常流行的构建 http 应用程序的框架。利用这样的东西是有意义的,因为它是熟悉且防弹的。
    • 是的,我对这个想法并不不满。我真希望他们能在 Doug Wilson 最终筋疲力尽之前赞助他(看看谷歌的云功能如何可能赚到数百万美元——主要部分归功于 Express)。取而代之的是,我希望他们使用 Koa。 :D
    猜你喜欢
    • 2020-02-21
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2020-03-15
    • 2021-08-14
    • 2021-07-30
    • 2019-05-14
    相关资源
    最近更新 更多