使用param工作的快速路线

时间:2017-05-31 05:02:37

标签: node.js express

我在下面有一个简单的快速路线。

const express = require('express');
const api = express.Router();

api.get('/vacancies', vacancies.getAllVacancies);

api.get('/vacancy/:id', vacancies.getVacancyById);

我打算在req.params.id中使用getVacancyById。但是,getAllVacancies有效,但调用路径

/vacancy/?id=1 is never recognized . I tried vacancy?id=1 many things it just never get called. The route is not recognized at all. 

请问我做错了什么?任何帮助将不胜感激

2 个答案:

答案 0 :(得分:3)

我会为这个问题提出2个解决方案:

解决方案1 ​​(推荐): 使用api.get('/vacancy/:id', ...& req.params.id并通过/vacancy/1

访问

解决方案2: 使用api.get('/vacancy', ...& req.query.id并通过/vacancy/?id=1

访问

答案 1 :(得分:1)

因为你的/?id是一个查询参数。获取id的值使用req.query.id 或者,如果你想在req.params中使用id的值,你的网址应该是/ vacancy / 1而不是/ vacancy /?id = 1