私の API の機能の一部には、POST 送信されたペイロード入力を取得し、それを処理のために別のアプリケーションに渡すことが含まれます。ペイロード入力は常に JSON オブジェクトとして送信され、値は常に数値である必要があります。ただし、JSON オブジェクトには何百もの異なるバリエーションがあるため (他のアプリケーションで一致するモデルの種類が増えているため)、検証構成のキーと値のそれぞれに名前を付けるのは現実的ではありません。 Hapijs で定義した POST ルートのオプション。
私はこのようなことをしたいと思っていますが、もっとハックっぽい回避策が必要になると想像してください:
config: {
validate: {
payload: Joi.object().keys(Joi.number())
}
}
おそらく、オブジェクトをループ処理して、値がすべて数値であることを確認する方法 (validate オプション内) があるかもしれませんが、それは非常に非効率的であると思われます。