Sails JS当控制器为空时生成的实体如何创建?

时间:2015-06-18 03:45:02

标签: sails.js

我有一个基本问题。

我正在尝试Sails(http://sailsjs.org/)并且它有终端命令来生成实体,例如User实体:

sails generate api user

我的问题是,UserController.js文件显示:

/**
 * UserController
 *
 * @description :: Server-side logic for managing users
 * @help        :: See http://sailsjs.org/#!/documentation/concepts/Controllers
 */

module.exports = {

};

我何时访问:

http://localhost:1337/user/create

它知道如何创建新的用户实体?控制器显然没有这样的创建动作:

module.exports = {
    create: function(req, res) {
        // code to create new user
    }
};

所以一定不会发生任何事情。

我做了一些Symphony 2.0 PHP Web框架,我们需要手动创建这些操作。

我同时对任何想法感到困惑和印象深刻?

1 个答案:

答案 0 :(得分:3)

欢迎来到Sails.js世界!

您刚刚发现了 Blueprint API

当您解除应用时,Sails会将通用操作添加到具有相同名称模型的控制器(至今findfindOnecreate,{{1隐式存在}},updatedestroypopulateadd个动作。这称为蓝图行动

此外,蓝图路线也可以绑定到您的控制器'动作。以下是这些路线的列表:

  • 蓝图RESTful路由:自动生成的路由,在removefindcreateupdate之上公开常规REST API行动
    • GET / post - > destroy
    • GET / post /:id - > PostController.find
    • POST / post - > PostController.findOne
    • PUT / post /:id - > PostController.create
    • DELETE / post /:id - > PostController.update
  • 蓝图快捷方式路径:简单帮助程序,可通过浏览器的URL栏访问控制器的CRUD方法
    • GET / user / create?name = joe - > PostController.destroy
    • GET / user / update / 1?name = mike - > Post.create
    • GET / user / destroy / 1 - > Post.update
  • 蓝图操作路由:自动为自定义控制器操作创建路由
    • GET / group / count - > Post.destroy

可以在Post.count文件中停用每个文件。

您可以在docs找到更多详细信息。

如果要重新定义蓝图操作,请选中this SO question