我已将我的firestore云功能设置为从请求中接收对象,但是我得到了一个空的主体,我从一个Form中获取了他的数据,然后将其传递给一个变量,该变量要在请求中发送给我Cloud Firestore函数,但是我得到了一个空的主体,即使运行了Cloud函数,我也可以看到结果之间的日志。 我的侧面:
onSubmit(form:NgForm){
let data = Object.assign({},form.value);
// const httpOptions = {
// headers: new HttpHeaders({
// 'Authorization': 'secret-key'
// }),
// body: 'test'
// };
const dataUser = {
displayName:data.displayName,
email: data.email,
password:data.password
}
console.log(data);
this.http.post(this.endpoint,dataUser).subscribe(res => console.log(res));
}
我的节点端:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.AddUser = functions.https.onRequest((req, res) =>{
console.log("B123oo");
console.log(req.body);
console.log("Boo");
// admin.auth().createUser({
// email: body.email,
// emailVerified: false,
// password: body.password,
// displayName: body.displayName,
// disabled: false
// }).then(function(userRecord){
// console.log("OK !!! UID: ",userRecord.uid);
// });
});
结果日志:
info: User function triggered, starting execution
B123oo
info: {}
Boo
答案 0 :(得分:0)
要使一个值显示为req.body,实际上并没有为body赋值。正文随随请求一起发送的数据一起填充。该主体最终将成为您的第二个值dataUser。我注意到您没有传递您的httpOptions,通常是传递给post()的第三个参数。最后一部分可能是您的问题。
this.http.post(this.endpoint,dataUser,httpOptions)
良好的资源:https://itnext.io/working-with-firebase-functions-http-request-22fd1ab644d3