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);
...