【问题标题】:Sails.js matching up endpoint methods to http methods (GET, POST)Sails.js 将端点方法与 http 方法(GET、POST)匹配
【发布时间】:2013-12-10 17:25:50
【问题描述】:

我正在阅读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 堆栈中的哪个位置(应该|可以)管理?

【问题讨论】:

    标签: sails.js


    【解决方案1】:

    Sails.js 为您提供了那些 shortcuts 让您仅使用 GET 方法进行操作,仅用于开发目的。如果需要,您可以使用文档中记录的配置禁用生产中的那些:

    默认情况下,Sails 会为每个动作创建一个蓝图动作路由 在控制器中,以便 GET 请求 /:controllerIdentity/:nameOfAction 将触发该操作。如果 上一节中的示例控制器保存为 api/controllers/SayController.js,然后是 /say/hi/say/bye 路由 每当应用程序被解除时,默认情况下将可用。如果 控制器保存在子文件夹/we 下,那么路由将是 /we/say/hi/we/say/bye。请参阅blueprints documentation 了解更多信息 Sails 的自动路由绑定信息。

    除了默认 路由,Sails 允许您手动将路由绑定到控制器 使用 config/routes.js 文件的操作。当你的一些例子 可能要使用显式路由的是:

    • 当您想使用单独的 基于 HTTP 方法(又名 动词)。上述动作蓝图路由绑定所有请求 给定动作的路径方法,包括 GET、POST、PUT、 删除等。

    【讨论】:

    • 是的,这就是我要找的!非常感谢。
    猜你喜欢
    • 2017-03-16
    • 2020-05-22
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2014-06-14
    • 1970-01-01
    • 2022-01-08
    相关资源
    最近更新 更多