Файлы 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));
}