Hapiハンドラーに入ってくる JSON オブジェクトのJoi検証を作成しようとしています。これまでのところ、コードは次のようになります。
server.route({
method: 'POST',
path: '/converge',
handler: function (request, reply) {
consociator.consociate(request.payload)
.then (function (result) {
reply (200, result);
});
},
config: {
validate: {
payload: {
value: Joi.object().required().keys({ knownid: Joi.object() })
}
}
}
});
これまでのJoiオブジェクトの検証は、上記の config: validate: code セクションで確認できます。入ってくる JSON は次のようになります。
"key": '06e5140d-fa4e-4758-8d9d-e707bd19880d-testA',
"value": {
"ids_lot_args": {
"this_id": "stuff",
"otherThign": "more data"
},
"peripheral_data": 'Sample peripheral data of any sort'
}
上記の JSON では、オブジェクトのルートにあるキーと値が必要であり、呼び出されるセクションids_lot_args
が必要です。peripheral_data で始まるセクションは、そこにあるかどうか、または他の JSON ペイロードである可能性があります。重要ではありません。ルート レベルと値内のキーと値のみids_lot_args
が必要です。
これまでのところ、私はJoi検証を機能させようとしてつまずいています。 これをどのようにセットアップする必要があるかについてのアイデアはありますか? Joi のコード リポジトリはhttps://github.com/hapijs/joiにあります。これまでのところ、オブジェクトのすべての関数を許可しようとしても役に立ちませんでした。