我正在处理Sails.js上的文档,并根据“使用入门”指南创建了一个基本的开发实例:
$ sudo npm -g install sails
$ sails new testProject
$ sails generate users
$ sails lift
这四个简单的命令将安装平台,创建项目,并按照设计创建模型users
。
在我的浏览器中,使用默认安装端口,我现在可以访问http://localhost:1337/users
并按预期接收空的JSON数组[]
。
现在,如果我希望创建新用户,REST最佳做法决定我应该使用POST
方法。 POST
确实有用,然而开箱即用,Sails 也允许您执行GET http://localhost:1337/users/create
以生成新的用户对象。
通过阅读他们的文档,我无法确定一种限制允许哪些HTTP方法执行各种任务的方法。这是在文档中吗?或者有人可以解释在Sails堆栈中哪些(应该)可以管理?
答案 0 :(得分:5)
Sails.js为您提供了shortcuts,只允许您使用GET方法进行操作。如果需要,您可以使用文档中提到的配置来禁用生产中的配置:
默认情况下,Sails将为每个操作创建一个蓝图操作路径 在一个控制器中,以便GET请求
/:controllerIdentity/:nameOfAction
将触发此操作。如果 上一节中的示例控制器保存为api/controllers/SayController.js
,然后是/say/hi
和/say/bye
路由 每当应用程序被解除时,默认情况下都可用。如果 controller保存在子文件夹/we
下,然后是路由/we/say/hi
和/we/say/bye
。有关详情,请参阅blueprints documentation 有关Sails自动路由绑定的信息。除了默认值 路由,Sails允许您手动绑定到控制器的路由 使用config / routes.js文件的操作。你的一些例子 可能想要使用显式路由:
- 当您想要单独使用时 基于HTTP方法处理相同路径路径的操作(aka 动词)。上述动作蓝图路由绑定所有请求 给定动作的路径的方法,包括GET,POST,PUT, 删除等