sails.js - 当 Controller 为空时,Sails JS 如何创建生成的实体?

标签 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

它知道如何创建一个新的用户实体? Controller 显然没有这样的创建操作:

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

所以肯定什么都不会发生。

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

我既困惑又印象深刻,有什么想法吗?

最佳答案

欢迎来到 Sails.js 世界!

您刚刚发现了Blueprint API

当您提升应用程序时,Sails 会向具有同名型号的 Controller 添加通用操作(迄今为止为findfindOnecreateupdatedestroypopulateaddremove 操作隐式存在)。这称为蓝图操作

此外,蓝图路由也可以绑定(bind)到 Controller 的操作。以下是这些路线的列表:

  • 蓝图 RESTful 路由:自动生成的路由,以在findcreateupdatedestroy操作之上公开传统 REST API
    • 获取/post->PostController.find
    • GET/post/:id ->PostController.findOne
    • 发布/post -> PostController.create
    • PUT/post/:id -> PostController.update
    • 删除/post/:id -> PostController.destroy
  • 蓝图快捷方式路由:简单的帮助程序,用于提供从浏览器的 URL 栏访问 Controller 的 CRUD 方法
    • GET/user/create?name=joe -> Post.create
    • GET/user/update/1?name=mike ->Post.update
    • GET/user/destroy/1 -> Post.destroy
  • 蓝图操作路由:自动为您的自定义 Controller 操作创建路由
    • GET/group/count ->Post.count

它们中的每一个都可以在config/blueprints.js文件中停用。

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

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

关于sails.js - 当 Controller 为空时,Sails JS 如何创建生成的实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906117/

相关文章:

node.js - 使用迁移工具生产 SailsJS 系统的分步指南

sails.js - 如何在 Sails js 中使用 bigserial 作为主键 id

sails.js - 在 Treeline 中验证用户名/密码的最简单方法是什么?

javascript - Sails.js 将 www 重定向到无 www url

javascript - 为什么我不需要在 Sails.js Controller 函数中调用 next,即使它的主体中有一个(异步?)数据库查询?

node.js - 无法在 docker 容器中运行 nodejs 应用程序和 mongo

javascript - 如何在 SAILS JS 的 API REST 中使用方法过滤器搜索?

javascript - 将 Sails JS 部署到 Heroku 时找不到图像

node.js - 在windows下安装nodejs出错

javascript - 在 Angular 2 中使用 SailsJS sails.io