我在Firebase上有一个HTTP Cloud功能。我可以使用没有查询字符串的GET方法成功调用此tutorial之后的函数。
> test.get()
我的问题是如何使用查询字符串测试HTTP函数?如何将其传递给调用调用?
我在shell上尝试了这个
> test.get({"name":"test"})
在我的index.js上我尝试打印名称:
exports.test= functions.https.onRequest((req, res) => {
console.log(req.query.name);
});
它不起作用并返回undefined
。
答案 0 :(得分:6)
您引用的文档说明了这一点:
要在shell中调用HTTPS函数,其用法与request NPM模块相同,但将request替换为您要模拟的函数的名称。
请注意request模块文档的链接。您必须使用其API来发出测试请求。在该链接页面上,您正在寻找更具体的文档:
https://www.npmjs.com/package/request#requestoptions-callback
您要注意的是第一个名为“options”的参数的属性。此对象具有许多影响请求的潜在属性。要发送查询字符串,您应该使用qs
属性,如下所示:
test.get({ qs:{ name:"foo" } })
这会将name
查询字符串参数设置为foo
以进行测试调用。