node.js - 如何使用没有快捷方式蓝图的 REST 搜索 sails.js 模型?

标签 node.js rest sails.js

我已经关闭了快捷方式蓝图(/model/findAll 不会工作),现在我想使用 REST 搜索模型,但我没有找到任何东西,是否有任何文档或我是否必须编写自己的 View 那个?

谢谢

最佳答案

Sails.js ,为开发启用了 CRUD 和 REST 蓝图路由,但对于生产,我建议您有自己的操作,可以在给定的 Controller 中查找/创建/更新/删除模型

Sails 自动将 Controller 中的操作映射到相应的路由,而无需您手动配置它们,要关闭此功能:在 config/controllers 中将 actions 标志设置为 false。 js文件

这最好用一个例子来解释,所以这是一个具有一些 RESTful 路由的基本模型

models/User.js

我们的模型有两个属性,不强制唯一性

module.exports = {

  attributes: {
    name: 'string',
    email: 'string'
  }

};

controllers/UserController.js

我们的 Controller 有两个操作,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);
      }
    });
  }

};

config/routes.js

我们的路由配置有两个只响应 GET 请求的路由,/user/all 将运行 findAll 操作和/user/name/:name 将运行 findByName在 URL 中将名称 作为参数给出的操作

module.exports.routes = {

  'GET /user/all': 'UserController.findAll',
  'GET /user/name/:name': 'UserController.findByName'

};

有关更多信息,请务必查看 documentation Sails.js 中的 Controller

关于node.js - 如何使用没有快捷方式蓝图的 REST 搜索 sails.js 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19293657/

相关文章:

web-services - REST/JSON : Should I include a newline after the JSON string?

c# - 帮助解决简单的 restful post 问题

javascript - Sails js 策略不起作用

javascript - 如何处理 Sails JS 返回的验证消息?

node.js - 如何在 Node-js api 的 webpack 中使用 -p 标志?

node.js - 在Nodejs sharp包中如何将两个图像添加到单个图像中?

javascript - 如何使用变量访问不同的对象?

node.js - 无法通过 NodeJS 连接到 MongoDB - 在副本集中找不到主错误

javascript - SharePoint 2013 通过 REST/JS 从联系我们表单发送电子邮件

javascript - 如何使用下划线js从对象数组中查找字符串?