Sails.js将端点方法与http方法匹配(GET,POST)

时间:2013-12-10 17:25:50

标签: sails.js

我正在处理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堆栈中哪些(应该)可以管理?

1 个答案:

答案 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,   删除等
  •