我目前在我的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
现在,问题是这两个API:
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
显示夏季股票假期的数据。
但是,如果我更改了调用路由文件的顺序:
const SummerStockVacation = require('./summerStockVacations/summerStockVacationRoute');
const StockVacation = require('./stockVacations/stockVacationRoute');
均显示Stock Vacation的数据。
我真的很奇怪。我不明白为什么。 有人遇到过这个问题吗?