gpt4 book ai didi

postman - tv4.validate 始终返回 true。即使我的模式无效,即 : var == "dummy"

转载 作者:行者123 更新时间:2023-12-05 07:23:06 28 4
gpt4 key购买 nike

tv4.validate 将始终返回 true。无论模式是有效的 JSON 还是虚拟字符串。我浏览 stackoverflow 以查找相关问题,banUnknownProperties 对我没有帮助

正如我所说,我什至尝试将架构变量更改为“虚拟”,但 tv4 仍然没有发现错误。那是我关于 stackoverflow 的第一篇文章。抱歉,如果我的问题不清楚。

有效响应如下

[
{
"dayOfWeek": "sunday",
"openTime": "10:00:00",
"closeTime": "14:00:00"
},
{
"dayOfWeek": "monday",
"openTime": "9:00:00",
"closeTime": "16:00:00"
},
{
"dayOfWeek": "tuesday",
"openTime": "9:00:00",
"closeTime": "16:00:00"
},
{
"dayOfWeek": "wednesday",
"openTime": "9:00:00",
"closeTime": "16:00:00"
},
{
"dayOfWeek": "thursday",
"openTime": "9:00:00",
"closeTime": "16:00:00"
},
{
"dayOfWeek": "friday",
"openTime": "9:00:00",
"closeTime": "16:00:00"
},
{
"dayOfWeek": "saturday",
"openTime": "7:00:00",
"closeTime": "19:00:00"
}
]

我使用 https://jsonschema.net/ 得到了我的模式变量这是由多个线程建议的。您可以粘贴有效的响应并将此 JSON 推断为架构。为了节省空间,我不会在这里提供我的模式。

这是我的测试代码:

var data = JSON.parse(responseBody);
var schema =pm.variables.get("getHoursSchema"); // copy paste schema from https://jsonschema.net/ and assigned to 'getHoursSchema' environment variable

tests["Valid 'Get business hours' schema"] = tv4.validate(data, schema, false, true);
console.log("Schema error description, if any:" + tv4.error);

实际响应是:

{
"error": {
"name": "JsonWebTokenError",
"message": "jwt malformed"
}
}

而且tv4在这里没有看到任何错误

最佳答案

Postman 变量存储为字符串。TV4 需要一个对象。

所以只需尝试在您的 pm.variables.get 上包装一个 JSON.parse:

var schema = JSON.parse(pm.variables.get("getHoursSchema")); 

通过此更改,我遇到了预期的架构验证错误。

关于postman - tv4.validate 始终返回 true。即使我的模式无效,即 : var == "dummy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56212298/

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