Файлы Express JS Multiple Route не работают

Я использую AngularJS с NodeJS в качестве бэкэнда. У меня есть 2 файла маршрута - route1.api.js и route2.api.js. Они используются в server.js следующим образом:

const route1Api= require("./src/api/route1.api");
const route2Api= require("./src/api/route2.api");

app.use("/api/route1/", route1Api);
app.use("/api/route2/", route2Api);

route1.api.js и route2.api.js имеют похожий код, подобный следующему:

const router = express.Router();
router.post("/whatever", (req, res) => {
// Code
});
module.exports = router;

Я обращаюсь к этим маршрутам из 2 разных файлов службы передачи данных Angular:

В route1.data.service.js

postRoute1() {
    console.log("Route1");
    return this._http
      .post("/api/route1/whatever", postData)
      .map(result => console.log(result));
}

В route2.data.service.js

postRoute2() {
    console.log("Route2");
    return this._http
      .post("/api/route2/whatever", postData)
      .map(result => console.log(result));
}

Теперь проблема в том, что route1 работает нормально, а route2 - нет. Метод postRoute2() работает только до строки console.log(), но не более того. В чем может быть проблема?

кодroute2.api.js:

router.post("/whatever", (req, res) => {
  console.log("API hit");
  User.find({}, function(err, user) {
    if (err) res.status(500);
    if (!user) res.status(204);
    res.status(200).json(user);
  });
});

1 ответ

Измените метод postRoute2() следующим образом:

postRoute2() {
    console.log("Route2");
    return this._http
      .post("/api/route2/whatever", postData)
      .subscribe(result => console.log(result));
}
Другие вопросы по тегам