在 Sails.js 中使用 GET 发出创建请求时禁用创建功能
Disabling create feature when create request is made using GET in Sails.js
我最近开始研究 Sails.js,我希望将其用于我的项目的生产和移动后端。在 Sails.js 文档中,在蓝图 api 中它说创建方法调用应该是 POST 类型 https://sailsjs.com/documentation/reference/blueprint-api/create。
但即使使用 GET 请求,也会创建记录。如何在请求为 GET 类型时禁用创建功能..?
如果你想完全禁用蓝图 API,你可以看看 config/blueprints.js
。
但是你可以通过在 'policies.js':
中做这样的事情来创建一个警察来限制它的访问
UserController : {
'thisispublic' : true,
'thisisnot' : false,
'create' : ['hasAdminToken'],
'update' : ['hasAdminToken'],
'destroy' : ['hasAdminToken'],
}
请注意,某些操作隐含在控制器中 - 即使您没有 "create" 功能,当它存在时,它也会由您的模型提供...
与@paulogdm 一样,我很惊讶您的 GET 正在创建记录。但我找到了文档 - 它是帆中的 "shortcut" 路线,可以禁用。文档是 here.
在您的 /config/blueprints.js
文件中,您需要添加:
module.exports = {
// ...
shortcuts: false
}
我最近开始研究 Sails.js,我希望将其用于我的项目的生产和移动后端。在 Sails.js 文档中,在蓝图 api 中它说创建方法调用应该是 POST 类型 https://sailsjs.com/documentation/reference/blueprint-api/create。
但即使使用 GET 请求,也会创建记录。如何在请求为 GET 类型时禁用创建功能..?
如果你想完全禁用蓝图 API,你可以看看 config/blueprints.js
。
但是你可以通过在 'policies.js':
UserController : {
'thisispublic' : true,
'thisisnot' : false,
'create' : ['hasAdminToken'],
'update' : ['hasAdminToken'],
'destroy' : ['hasAdminToken'],
}
请注意,某些操作隐含在控制器中 - 即使您没有 "create" 功能,当它存在时,它也会由您的模型提供...
与@paulogdm 一样,我很惊讶您的 GET 正在创建记录。但我找到了文档 - 它是帆中的 "shortcut" 路线,可以禁用。文档是 here.
在您的 /config/blueprints.js
文件中,您需要添加:
module.exports = {
// ...
shortcuts: false
}