В настоящее время я сталкиваюсь с чем-то странным в моем приложении node js.
В моем приложении express.js есть два идентичных компонента.
1. Stock Vacations
2. Summer Stock Vacations
Каждый содержит файл модели, сервиса, контроллера и маршрута.
stockVacations
-> stockVacationController.js
-> stockVacationModel.js
-> stockVacationService.js
-> stockVacationRoute.js
SummerStockVacations
-> summerStockVacationController.js
-> summerStockVacationModel.js
-> summerStockVacationService.js
-> summerStockVacationRoute.js
Оба имеютодни и те же поля коллекции в модели и одно и то же имя функции в service.js.
Теперь это порядок моего API:
const express = require('express');
const router = express.Router();
const StockVacation = require('./stockVacations/stockVacationRoute');
const SummerStockVacation = require('./summerStockVacations/summerStockVacationRoute');
router.use('/stock-vacation', StockVacation);
router.use('/summer-stock-vacation', SummerStockVacation);
module.exports = router;
И оба маршрута имеют маршрут, подобный следующему:
router.get('/', StockVacationController.getAll); // from stockVacation
router.get('/', SummerStockVacationController.getAll); // from stockVacation
Теперь, в чем проблема, эти два apis:
http://localhost:3000/api/stock-vacation/?limit=10&page=1&year=2018
http://localhost:3000/api/summer-stock-vacation/?limit=10&page=1&year=2018
отображают данные летних отпусков.
Но если я изменю порядок вызова маршрутаfile:
const SummerStockVacation = require('./summerStockVacations/summerStockVacationRoute');
const StockVacation = require('./stockVacations/stockVacationRoute');
Обе, отображают данные Stock Vacation.
Так странно для меня.Я не понимаю почему.Кто-нибудь сталкивался с этой проблемой раньше?