休息Api参数验证最佳实践

时间:2015-11-10 15:35:18

标签: javascript node.js validation rest

我对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函数旁边。但是我的工人告诉我,我不应该这样做。相反,我应该在自己的路线功能中添加验证。他说我们应该像这种延迟原因那样做。这种情况有最好的做法吗?

1 个答案:

答案 0 :(得分:0)

最好在每个相应的路线功能中进行此类验证。它更易于维护,因为所有逻辑都集中在一个地方。否则,如果您更改路由功能,则需要记住去更新中间件。