2

我在 Firebase 上有一个 HTTP Cloud 功能。我可以使用没有查询字符串的 GET 方法成功调用本教程之后的函数。

> test.get() 

我的问题是如何使用查询字符串测试 HTTP 函数?如何将它传递给调用调用?

我在外壳上试过这个

> test.get({"name":"test"})

在我的 index.js 上,我尝试打印名称:

exports.test= functions.https.onRequest((req, res) => {
    console.log(req.query.name);
});

它不起作用并返回undefined

4

1 回答 1

7

您引用的文档是这样说的:

在 shell 中调用 HTTPS 函数,用法与request NPM 模块相同,但将 request 替换为您要模拟的函数的名称。

请注意请求模块文档的链接。您将不得不使用它的 API 来发出测试请求。在该链接页面上,您正在寻找的更具体的文档在这里:

https://www.npmjs.com/package/request#requestoptions-callback

您要注意的是名为“选项”的第一个参数的属性。这个对象有很多影响请求的潜在属性。要发送查询字符串,您应该使用该qs属性,如下所示:

test.get({ qs:{ name:"foo" } })

这将为测试调用设置name查询字符串参数。foo

于 2018-04-11T01:54:53.590 回答