节点表达路线问题

时间:2017-09-02 05:30:18

标签: node.js express

我面临一个非常奇怪的问题。我配置了两个路由。一个用于我的仪表板,另一个用于外部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就像你正在寻找的页面一样       因为,我们无法使用。“

1 个答案:

答案 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);
});