我的API中的一些功能涉及获取POST发送的有效负载输入并将其交给另一个应用程序进行处理.有效负载输入始终作为JSON对象发送,值必须始终为数字.但是,因为JSON对象有数百种不同的变体(因为它们在其他应用程序中匹配的模型越来越多),所以我不可能为验证配置命名每个键和值我在Hapijs中定义的POST路由中的选项.
我希望我可以做这样的事情,但想象一下,必须有更多的黑客攻击:
config: {
validate: {
payload: Joi.object().keys(Joi.number())
}
}
Run Code Online (Sandbox Code Playgroud)
也许有一些方法可以遍历对象并确保值都是数字 - 在validate选项中 - 但感觉它可能效率很低.