使用Firebase云功能实现REST接口

Nar*_*esh 1 node.js express firebase google-cloud-functions

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

functions.https.onRequest((req, res) => { ... });
Run Code Online (Sandbox Code Playgroud)

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

app.get()
app.post()
app.put()
app.delete()
Run Code Online (Sandbox Code Playgroud)

这将允许我们更干净地实现基于资源的端点.

Dou*_*son 9

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

您可以在此示例代码中看到此示例.

需要注意的重要一点是,您可以创建一个快速应用程序,使用您想要的端点对其进行配置,并将其交给云功能:

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