2015-11-10 188 views
1

Im有點困惑了Node.js中的參數驗證Rest Api。 我寫了一個小中間件哪個交換機通過所有途徑這樣Rest Api參數驗證最佳實踐

switch (req.route.path) { 
    case '/checkRequirements': 
    req.assert('location', 'Invalid Location Array').notEmpty() 
    req.assert('platform', 'Invalid Platform').notEmpty() 
    req.assert('version', 'Invalid Version').notEmpty() 
    break 

    case 'login': 
    req.assert('uuid', 'Invalid UUID').notEmpty().isUUID() 
    req.assert('fbToken', 'Invalid Facebook Token').notEmpty() 
    req.assert('location', 'Invalid Location Array').notEmpty() 
    break 
} 

如果驗證通過它去與旁邊的api函數。但我的同事告訴我,我不應該這樣做。相反,我應該在自己的路由功能中添加驗證。他說我們應該這樣做,就像這個延遲的原因。這種情況是否有最佳做法?

回答

0

在每個相應的路由功能中進行這種驗證會更好。它更易於維護,因爲所有的邏輯都在一個地方。否則,如果更改路由功能,則需要記住去更新中間件。