如何使用REST而不使用快捷方式蓝图使用searchsails.js模型?
我已经closures快捷键蓝图(/模型/ findAll不会工作),现在我想search模型,使用REST,但我没有find任何东西,有没有任何文件或我必须写我自己的意见呢?
谢谢
在Sails.js中 ,CRUD和REST蓝图路线是为开发而启用的,但是对于生产,我build议您有自己的操作,可以在给定的控制器中查找/创build/更新/删除模型
Sails会自动将控制器中的动作映射到相应的路由,而不必手动configuration它们,以closures它:在config / controllers.js文件中将actions标志设置为false
这最好用一个例子来解释,所以这里有一个基本的模型,有一些RESTful路线
车型/ user.js的
我们的模型有两个属性,并不强制唯一性
module.exports = { attributes: { name: 'string', email: 'string' } };
控制器/ UserController.js
我们的控制器有两个动作, findAll返回所有用户, findByName返回给定名字的用户
module.exports = { findAll: function (req, res) { User.find().done(function (err, users) { if (err) { res.send(400); } else { res.send(users); } }); }, findByName: function(req, res) { var name = req.param('name'); User.findByName(name).done(function (err, users) { if (err) { res.send(400); } else { res.send(users); } }); } };
configuration/ routes.js
我们的路由configuration有两条路由只对GET请求做出响应,/ user / all将运行findAll动作,/ user / name /:名字将运行findByName动作,并在URL中给出一个参数
module.exports.routes = { 'GET /user/all': 'UserController.findAll', 'GET /user/name/:name': 'UserController.findByName' };
有关更多信息,请务必查看Sails.js中控制器的文档
只是对前一篇文章的更新,因为我找不到其他人提到这个,而且我没有足够的评论声望,所以在更新版本的Sails.js中, connections.js
文件已经被删除了。 这些configuration选项现在在blueprints.js
文件中。