gpt4 book ai didi

javascript - 为什么我的 Sails.js 应用程序有一条我从未添加过的路线

转载 作者:行者123 更新时间:2023-12-03 04:33:47 24 4
gpt4 key购买 nike

我已经创建了一个新的 Sails 应用程序,到目前为止,我已经使用 sailsgenerate apiguitar 创建了一个 api,然后在 Controller 中添加了以下代码:

module.exports = {    
fender: function(req, res){
console.log(req.params);
res.notFound();
}
};

正如预期的那样,当我访问 http://localhost:1337/guitar/fender 时,我收到 404 错误(这是我编写的响应)。但我不明白的是,如果我访问 http://localhost:1337/guitar/fender/4,控制台将显示 [ id: '4' ].我似乎在某个地方有一个 GET/guitar/fender/:id (此处使用 Express/Rails 语法)某种 URL。但我在任何地方都看不到它,在 config/routes.js 或其他任何地方都没有。

那么,Sails.js 是否会自动为每个 Controller 操作创建一个 :id ?或者我在这里遗漏了什么?

我尝试了一些方法,例如将其添加到 config/routes.js 文件中:

'get/guitar/fender/:brand': 'GuitarController.fender'

然后,当我再次访问该 URL 时,将打印 [brand: '4' ] 而不是 id

所以我的最后一个问题是:Sails.js 是否会自动为每个 Controller 操作创建一个 :id

(我在文档中也找不到这个)

最佳答案

为了加速 REST 开发,Sails 使用名为 Blueprint 的内部 API。

当您运行“生成”命令时,Sails 会为您创建所有 CRUD 操作来处理您的实体,因此您无需任何代码即可立即测试您的 API。

您在此处创建了一个吉他实体。现在您可以直接在网络浏览器中玩它!让我们在本地主机上尝试一下:

  1. /guitar/create?name=Ibanez
  2. /吉他
  3. /guitar/4
  4. /guitar/update/4?name=Stratocaster
  5. /guitar/4
  6. /guitar/destroy/4
  7. /吉他

如果您想了解有关蓝图的更多信息,您可以:

  • 阅读 this section来自 Sails 文档
  • 查看 Sails 项目中的 config/blueprints.js 文件

关于javascript - 为什么我的 Sails.js 应用程序有一条我从未添加过的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43381547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com