我对node.js 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 :(得分:0)
最好在每个相应的路线功能中进行此类验证。它更易于维护,因为所有逻辑都集中在一个地方。否则,如果您更改路由功能,则需要记住去更新中间件。