Функция Firebase получает параметр из URL - PullRequest
0 голосов
/ 03 мая 2018

Я хочу иметь пользовательский URL-адрес, такой как https://<my-project-id>.firebaseapp.com/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 был короче.

1 Ответ

0 голосов
/ 03 мая 2018

Попробуйте console.log(req.url);, чтобы получить URL. Тогда вам просто нужно извлечь последнюю часть после /

...