簡體   English   中英

為同一路徑執行多個處理程序

[英]Sails multiple handlers for the same route

正如標題所示,我想在不同的控制器中為Sails Js中的相同路徑分配多個動作處理程序

我嘗試過的:

"post /rest/users": [{
    controller: "FirstController",
    action: "someAction"
},
{
    controller: "SecondController",
    action: "otherAction"
}]

但是這給了我Sails中的錯誤51,並且沒有達到任何操作(調試時)。 我搜索了這個解決方案,但我找不到一些東西。

我知道Sails使用Express的路由中間件,我發現這可以通過以下路由在Express中完成:

app.post('/users', createUser, saveToDB, endTheResponse, sendEmail);

我知道一些可能的解決方法(比如在第一個中要求控制器),但這不是我正在尋找的,我無法使Express示例路由適應Sails one。

歡迎任何建議! 謝謝。

好的,搜索超過1周后,我在這里找到了解決方案。 所以每個處理這個問題並且在調用多個控制器時遇到問題的人都可以實現這一目標。 從要點:

路由現在可以指定目標列表,這些目標將按順序運行(這允許將中間件鏈接到路由鏈接)。 可以按任何順序指定新的可選中間件目錄中的控制器(controller.action)和任意middleare(中間件)函數:

{
    'post /signup': ['user.unique', 'user.create', 'verifyemail.send'],
    '/auth/logout': ['authenticated', 'auth.logout']
}

您還可以使用經典{controller: 'foo', action: 'bar' }表示法。 方便地,雜項字符串被視為重定向:

{
    // Alias '/logout' to '/auth/logout'
    'get /logout': '/auth/logout',
    '/thegoogle': 'http://google.com'
}

暫無
暫無

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

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