所以, 我有一个User模型和一个UserController.js文件,但没有任何功能。 因此,默认的REST端点适用于用户模型..
现在,我可以通过将undergiven放在/config/policies.js文件中,在/ user上为REST POST请求设置策略:
UserController:{ "创建" :'已验证', }
其中'已验证'是我定义的政策。 所以似乎"创造"映射到默认REST" post / user" ...
现在我的问题是如何为" get / user /:id"制定政策? ......? / user /:id?
是否有一个动词(比如在/ user上为POST创建)我希望我足够清楚......
答案 0 :(得分:6)
根据此http://beta.sailsjs.org/#!documentation/reference/Blueprints/Blueprints.html,这些是蓝图中可用的默认操作:
-find
-findOne
- 创建
-update
-destroy
-populate
-add
-remove
答案 1 :(得分:2)
在Sails中,策略旨在应用于控制器而非单个路由。值得庆幸的是,该框架足够灵活,可以找到类似这样的解决方法。
有几种方法可以做到这一点。无论哪种方式,您都需要在config/routes.js
中的路径配置文件中捕获http请求。
如果您只需要对路由/方法应用一个策略,最简单的方法是将其直接放在路由配置文件中。例如。
module.exports.routes = {
'/': {
view: 'homepage'
},
'get /user': function(req,res,next){
console.log('I made a get request!! ')
},
'post /user': function(req,res,next){
console.log('I made a post request!! ')
}
};
如果您想对路线/方法应用多个政策,或者您希望将政策保留在政策文件夹中,请尝试以下内容。
var policyOne = require('../api/policies/policyOne');
var policyTwo = require('../api/policies/policyTwo');
module.exports.routes = {
'/': {
view: 'homepage'
},
'get /user': [policyOne,policyTwo]
};