gpt4 book ai didi

javascript - 将 Joi 与 Hapi 一起使用时,如何设置需要一个键但允许任何和所有其他键?

转载 作者:可可西里 更新时间:2023-11-01 02:39:33 27 4
gpt4 key购买 nike

我正在尝试为进入 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 对象验证。传入的 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如果有人想检查一下。到目前为止,我一直在尝试允许对象上的所有功能都无济于事。

最佳答案

您只需调用 unknown() value 对象上的函数:

var schema = Joi.object({
key: Joi.string().required(),
value: Joi.object({
ids_lot_args: Joi.object().required()
}).unknown().required()
});

关于javascript - 将 Joi 与 Hapi 一起使用时,如何设置需要一个键但允许任何和所有其他键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25315494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com