iam*_*nut 17 firebase google-cloud-functions
我创建了Firebase Cloud Functions应用程序,我创建了函数https.onRequest.并获取数据,req.body但那里没有数据.
Firebase云功能可以处理HTTP POST方法吗?
这是我的示例代码: -
var functions = require('firebase-functions');
exports.testPost = functions.https.onRequest((req, res) => {
console.log(req.body);
});
Run Code Online (Sandbox Code Playgroud)
我使用POST方法测试邮递员,但没有在Firebase日志中显示结果.
nuk*_*lov 17
构建在Firebase上的函数也可以使用Express.js路由器来处理GET/POST/PUT/DELETE等... Google完全支持它,并且是实现这些类型函数的推荐方法.
可在此处找到更多文档:
https://firebase.google.com/docs/functions/http-events
这是一个基于Node.js的工作示例
const functions = require('firebase-functions');
const express = require('express');
const cors = require('cors');
const app = express();
// Automatically allow cross-origin requests
app.use(cors({ origin: true }));
app.get('/hello', (req, res) => {
res.end("Received GET request!");
});
app.post('/hello', (req, res) => {
res.end("Received POST request!");
});
// Expose Express API as a single Cloud Function:
exports.widgets = functions.https.onRequest(app);
Run Code Online (Sandbox Code Playgroud)
然后,运行firebase deploy,这应该编译你的代码并创建新的"小部件"功能.注意:您可以将小部件重命名为您想要的任何内容.最终,它将生成一个用于调用该函数的URL.
我打算做同样的事情.我认为该方法应该是检查request.method函数体.一种可能的方法是:
if (request.method != "POST") {
respond.status(400).send("I am not happy");
return;
}
// handle the post request
Run Code Online (Sandbox Code Playgroud)
以下是有关请求对象所包含内容的详细信息:https://firebase.google.com/docs/functions/http-events
| 归档时间: |
|
| 查看次数: |
15941 次 |
| 最近记录: |