我面临一个非常奇怪的问题。我配置了两个路由。一个用于我的仪表板,另一个用于外部API。
dashboard = require('./routes/dashboard')(passport);
api = require('./routes/api');
app.use('/', dashboard);
app.use('/api', api);
我的api.js路由文件中定义了以下两个路由。
router.post('/somepostlink',function(){
// this is reachable from request query.
})
router.get('/somegetlink',function(){
// this is NOT reachable from request query.
})
我在dashboard.js路由文件中定义了这个:
//如果没有匹配的路由,控制权将转移到
下面的代码块router.get('*',function (request,response) {
console.log("Route not found");
return response.send("OOPs :( \nSeems like the page you are looking
for, isn't available with us.").status(404);
现在, POST 请求localhost:3000 / api / somepostlink有效。 但是, GET 请求localhost:3000 / api / somegetlink显示
“OOPs:(\ n就像你正在寻找的页面一样 因为,我们无法使用。“
答案 0 :(得分:0)
在路由器中,顺序很重要。在地方更改您的路由器。并更改catch 404错误处理程序。
app.use('/api', api);
app.use('/', dashboard);
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});