Firebase 函数从 URL 获取参数
Firebase function get parameter from URL
我想要一个像 https://<my-project-id>.firebaseapp.com/parameter
这样的自定义 url 这样我就有一个接受值 'parameter' 的函数。
这是我要 firebase.json 重写的内容:
"rewrites": [
{
"source": "/:bar*", "function": "foo"
},
{
"source": "**",
"destination": "/index.html"
}
]
然后 functions/index.js 这是我的 'foo' 函数:
exports.foo = functions.https.onRequest((req, res) => {
console.log('bar = '+req.query.bar);
console.info(req.query.bar);
res.status(200).send(`<!doctype html>
<head>
<title>Test</title>
</head>
<body>
Bar = ${req.query.bar}
</body>
</html>`);
});
有效但不是我想要的
如果我将 firebase.json 更改为以下内容:
"rewrites": [
{
"source": "/**", "function": "foo"
},
{
"source": "**",
"destination": "/index.html"
}
]
然后这样写 url:
https://<my-project-id>.firebaseapp.com/anything?bar=test
然后它正确地获取了 bar 参数。但是,我需要能够缩短 url。
尝试 console.log(req.url);
获得 url。然后你只需要提取 /
之后的最后一部分
根据其他答案,这就是我使 "getUser" 请求生效的方法:
exports.getUser = (req, res) => {
// https://us-central1-project.cloudfunctions.net/api/user/diegovfeder
// console.log(req.url);
let userId = req.url.split("/");
userId = userId[userId.length - 1];
//console.log(userId);
...
我想要一个像 https://<my-project-id>.firebaseapp.com/parameter
这样的自定义 url 这样我就有一个接受值 'parameter' 的函数。
这是我要 firebase.json 重写的内容:
"rewrites": [
{
"source": "/:bar*", "function": "foo"
},
{
"source": "**",
"destination": "/index.html"
}
]
然后 functions/index.js 这是我的 'foo' 函数:
exports.foo = functions.https.onRequest((req, res) => {
console.log('bar = '+req.query.bar);
console.info(req.query.bar);
res.status(200).send(`<!doctype html>
<head>
<title>Test</title>
</head>
<body>
Bar = ${req.query.bar}
</body>
</html>`);
});
有效但不是我想要的
如果我将 firebase.json 更改为以下内容:
"rewrites": [
{
"source": "/**", "function": "foo"
},
{
"source": "**",
"destination": "/index.html"
}
]
然后这样写 url:
https://<my-project-id>.firebaseapp.com/anything?bar=test
然后它正确地获取了 bar 参数。但是,我需要能够缩短 url。
尝试 console.log(req.url);
获得 url。然后你只需要提取 /
根据其他答案,这就是我使 "getUser" 请求生效的方法:
exports.getUser = (req, res) => {
// https://us-central1-project.cloudfunctions.net/api/user/diegovfeder
// console.log(req.url);
let userId = req.url.split("/");
userId = userId[userId.length - 1];
//console.log(userId);
...