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