2017-08-05 121 views
0

提供一種用於雲函數的HTTP API混合所有HTTP方法爲一個API調用:實現與火力地堡雲REST接口功能

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

這需要一個開關以分離出的GET,柱,提出和DELETE 。有沒有類似於Express API的更好的方法:

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

這將允許我們更乾淨地實現基於資源的端點。

回答

6

Cloud Functions for Firebase允許您提供一個Express.js應用程序來實現HTTP API(或其他任何您想要使用Express.js應用程序執行的操作)。

你可以在this sample code中看到這個例子。

需要注意的重要事情是,你可以創建一個明確的應用程序,你想要的端點配置它,並把它交給雲功能:

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

這是完美的!感謝您的快速響應,@doug_stevenson – Naresh

+0

超級奇怪的是,雲功能只是Express的包裝,但很有幫助,謝謝。 – corysimmons

+0

@corysimmons Express是一個非常流行的構建http應用程序的框架。利用這樣的東西是有道理的,因爲它很熟悉和防彈。 –