未找到在Sailsjs中找不到的路线

时间:2016-04-26 08:30:47

标签: node.js model-view-controller routing sails.js

基于Sailsjs documentation,可以在路由文件中添加一个语法如下的响应:

module.exports.routes = {
    '/foo': {response: 'notFound'}
};

这将搜索我notFound.js目录中的/response文件。

因此,在我的routes.js文件中,我将其添加为其他路由的末尾以便捕获未找到的路由,它是这样的:

module.exports.routes = {
    'get  /myroute/:myPara/': 'MyController.getAll',
    'get  /myroute/:myPara/': 'MyController.getOne',
    'post /myroute/:myPara/': 'MyController.create',
    '/*' : {response: 'notFound'}
};

我意识到从来没有找到最后一条路线,我也尝试删除斜线(做'*'),但没有任何作用。

我错过了什么吗?谢谢!

1 个答案:

答案 0 :(得分:1)

Sails已经处理了404 notFound:here

Sails调用res.notFound(),你可以覆盖默认的notFound():

  

res.notFound()(与其他用户态响应方法一样)可以被覆盖或修改。它运行/responses/notFound.js中定义的响应方法,该方法在新生成的Sails应用程序中自动捆绑。如果您的应用中不存在notFound.js响应方法,Sails将隐式使用默认行为。