我正在使用Node.js和Express.js编写应用程序。该应用程序有一个(小)REST API,然后是一个Web前端。我使用MongoDb。
对于API,我将POST
数据倾向于某个端点,然后进行处理或其他任何操作,并将其转储到数据库中。但是,我有一些我想强制执行的数据库模式。我在POST
数据上强制执行特定结构的选项/最佳做法是什么,因此我知道某些字段存在且具有特定类型。
如果可以在中间件级别完成,那将是很好的,但这不是必需的。人们通常会对验证/架构实施做些什么?
答案 0 :(得分:10)
node-validator正是您要找的。您可以将它用作像这样的独立模块
var check = require('validator').check;
//Validate
check('test@email.com').len(6, 64).isEmail(); //Methods are chainable
check('abc').isInt(); //Throws 'Invalid integer'
或者您可以使用构建在node-validator之上的express-validator作为中间件。
答案 1 :(得分:1)
以下是各种JSON模式验证器的最新benchmark。
此外,对于最佳实践,您可能需要查看JSON-schema,它们尝试布局定义如何定义JSON对象的标准方法。