Не может иметь вложенные маршруты в облачной функции Firebase - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь реализовать переписывание хостинга firebase.Вот мой firebase.json

{
  "functions": {},
  "hosting": {
    "public": "public",
    "rewrites": [
      {
        "source": "/users",
        "function": "usersMicroservice"
      }
    ],
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

Мой файл functions / index.js выглядит следующим образом

const functions = require("firebase-functions");
const express = require("express");

const app = express();

app.get("/users", (req, res) => res.json({message: "hello world"}));
app.get("/users/next", (req, res) => res.json({message: "hello world 2"})));


exports.usersMicroservice = functions.https.onRequest(app);

Я запускаю свой сервер локально.Есть два URL, которые появляются в журналах.Это

http://localhost:5001/test-development/us-central1/usersMicroservice

и

http://localhost:5000

Первый URL - это прямой путь к моей облачной функции, а второй - мой "хостинг "URL.Когда я делаю запросы к облачной функции, все работает как положено.Однако, когда я делаю GET-запрос к http://localhost:5000/users/1, я получаю сообщение 404 Page Not Found, но когда я делаю GET-запрос к http://localhost:5000/users, я получаю ожидаемый ответ json.

Я новичок в хостинге firebase и облачных функциях.Не уверен, что я могу делать неправильно.Любая помощь очень ценится.

1 Ответ

0 голосов
/ 03 февраля 2019

Попробуйте это:

app.get("/users/:next", (req, res) => res.json({message: "hello world 2 " + req.params.next })));

...