簡體   English   中英

如何將策略綁定到Sails.js中的默認REST端點?

[英]How to bind policies to the default REST endpoints in Sails.js?

所以,我有一個User模型和一個UserController.js文件但沒有任何功能。 因此,默認的REST端點適用於用戶模型..

現在我可以通過將undergiven放在我的/config/policies.js文件中來對/ user上的REST POST請求進行策略:

UserController:{“create”:'authenticated',}

“authenticated”是我定義的策略。 所以似乎“創建”映射到默認的REST“帖子/用戶”......

現在我的問題是我如何為“get / user /:id”制定政策......? 對於/ user /:id,是否有動詞(如為/ on / user創建)?

我希望我足夠清楚..

根據這個http://beta.sailsjs.org/#!documentation/reference/Blueprints/Blueprints.html,這些是藍圖中可用的默認操作:

-找
-找一個
-創建
-update
-破壞
-populate
-加
-去掉

在Sails中,策略旨在應用於控制器而非單個路由。 值得慶幸的是,該框架足夠靈活,找到類似這樣的事情的解決方法並不困難。

有幾種方法可以做到這一點。 無論哪種方式,您都需要在config/routes.js中的routes配置文件中捕獲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]
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM