У меня есть конечные точки экспресс-API для разных целей, но одна возвращает результаты для всех конечных точек.пример.api/:id
возвращает идентификатор.api/:id?region=east
возвращает {region: "east"} Я знаю, что в первом случае мы используем req.params
, во втором случае req.query
.Моя проблема для обоих звонков, результаты только из первого случая.Как я могу решить эту проблему?
пример code app.js file
const express = require('express');
const app = express();
app.use(express.json());
app.use(express.urlencoded({extended:false}));
app.use('/api', require(./server/user.js));
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Listening on port ${port} `));
#user.js file
const express = require('express');
const router = express.Router();
//endpoint api/10
//ie 10 is the id
router.get('/:id', (req,res) =>{
let id = req.params;
return res.json(id);
});
//note the second router should be using query string
//ie api/10?region=east
router.get('/:id', (req,res) =>{
let id = req.params;
return res.json(id);
});
Моя проблема в том, что вторая конечная точка API не работает.выполняется первая конечная точка API.
1 Обновления выше