mongodb - MongoDB、Nodejs 路由顺序
问题描述
我的路线有问题。它们起作用,但只有代码中的那个起作用。下面的代码允许我通过 ID 而非注册号获得票。如果我将第二条路线放在第一条路线之上,反之亦然。
我能做些什么来解决这个问题?
//Get a ticket by ID
app.get('/tickets/:_id', function(req, res){
Ticket.getTicketById(req.params._id, function(err, ticket){
if(err){
throw err;
}
res.json(ticket);
});
});
//Get a ticket by registration number
app.get('/tickets/:vehRegistration', function(req, res){
Ticket.getTicketByReg(req.params.vehRegistration, function(err, ticket){
if(err){
throw err;
}
res.json(ticket);
});
});
解决方案
您已经编写了两次相同的 API 路径。:param_name 不能用于区分两个不同的路径。尝试
//Get a ticket by ID
app.get('/tickets/byid/:_id', function(req, res) {
Ticket.getTicketById(req.params._id, function(err, ticket) {
if (err) {
throw err;
}
res.json(ticket);
});
});
//Get a ticket by registration number
app.get('/tickets/byreg/:vehRegistration', function(req, res) {
Ticket.getTicketByReg(req.params.vehRegistration, function(err, ticket) {
if (err) {
throw err;
}
res.json(ticket);
});
});
推荐阅读
- c - 对已链接的函数的未定义引用
- python - 在Python中使用多线程/多处理对矩阵元素求和
- oracle - 将免费计划 azure web 应用程序连接到 oracle 自治数据库处理
- python - What does a ¨no attribute error¨ mean in python?
- javascript - My attempt to create a simple Gantt chart (Table) using Vue.js
- swift - Swift Package Manager dynamic library
- excel - 复制和粘贴 VBA - 跳过空白,无标题
- angular - How to disable a validation of the field in Angular?
- ruby-on-rails - Sidekiq/Redis 排队一个不存在的作业
- javascript - 未捕获的类型错误:无法读取未定义的属性“toLocaleString”