【问题标题】:How to Send a payload to a firebase OnRequest Function如何将有效负载发送到 Firebase OnRequest 函数
【发布时间】:2021-12-09 18:40:38
【问题描述】:

我有一个 firebase post 函数,我试图向它发送一些数据,但我遇到的问题是我的身体是空的。我正在使用 express 作为函数。

const functions = require("firebase-functions");
const admin = require("firebase-admin");
const express = require("express");
const request = require("request");
const moment = require("moment");
const cors = require("cors");
// const bodyParser = require("body-parser");
admin.initializeApp();
const app = express();

app.use(cors());

app.use(express.json({limit: "10kb"}));

// Mpesa Express
app.post("/express", _accessToken, (req, res) => {
  console.log(JSON.stringify("FELOOOOOO", req.body));
  console.log(JSON.stringify("felix"));

 res.status(200).json(req.body);
 
});

exports.main = functions.https.onRequest(app);

函数运行,但是当我记录 req.body 时它为空。我已经使用邮递员发送了发布请求,但尽管传入了一些数据,req.body 仍然为空。请帮助解决错误。下面是邮递员请求的截图

【问题讨论】:

  • 代码看起来不错,只需确保您已在 Postman 中将 Content-Type 标头添加为 application/json
  • @ArifKhan Content-type application/json 在标题中
  • req.rawBody 呢?
  • req.rawBody 也是空的

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


【解决方案1】:

您似乎正确地发送了数据,但错误地使用了JSON.stringify()。对象是第一个参数,而不是第二个。让它JSON.stringify(req.body) - 这应该工作。

您可以在 MDN 文档中阅读有关该功能的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

【讨论】:

  • 谢谢。你是对的。我错误地使用了 JSON.stringify()。
猜你喜欢
  • 1970-01-01
  • 2022-09-26
  • 2021-02-15
  • 2016-11-23
  • 2017-12-17
  • 2023-01-25
  • 2018-01-01
  • 2020-07-08
  • 1970-01-01
相关资源
最近更新 更多