@ Предложение DieGraueEminenz может быть полезным, но я думаю, что там также может происходить что-то еще, мне любопытно, как вы можете получить ссылку на «JsonWebTokenError» с тем, что вы делаете, вы должны это исследовать.
Но что касается вашей проблемы со схемой, давайте удалим несколько неизвестных, используя следующий код в сценариях предварительного запроса или в тестовом сценарии фиктивного запроса (например, GET google.com)
var data = [
{
"dayOfWeek": "sundayX",
"openTime": "10:00:00",
"closeTime": "14:00:00"
},
{
"dayOfWeek": "monday",
"openTime": "9:00:00",
"closeTime": "16:00:00"
}
];
const schema = {
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"items": {
"type": "object",
"required": [ "dayOfWeek", "openTime", "closeTime" ],
"properties": {
"dayOfWeek": { "enum": [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", ] },
"openTime": { "type": "string", "pattern": "^\\d+:\\d\\d:\\d\\d$" },
"closeTime": { "type": "string", "pattern": "^\\d+:\\d\\d:\\d\\d$" },
}
}
};
const result = tv4.validateResult(data, schema);
console.log("Schema result:", result);
Я переработал схему, которую вы получаете от https://jsonschema.net/, (которая на самом деле только проверяет, есть ли у вас строки, и больше ничего). Перечисленное выше значение для dayOfWeek лучше проверяет, значения времени теперь должны быть [n] n: nn: nn, и я удалил кучу лишних битов, которые вам не нужны.
Также я бы использовал метод tv4.validateResult(...)
, потому что он дает вам гораздо больше информации об ошибках.
Приведенный выше пример вывода
, чтобы выявить преднамеренную ошибку в первом элементе данных.
Как только вы начнете это делать, начните соединять данные из вашего ответа, и если вам нужно поделиться схемой с другими запросами, сохраните ее в глобальные значения с помощью
pm.globals.set("schemaJSON",JSON.stringify(schema));
и получитеэто следующим образом
const schemaJSON = pm.globals.has("schemaJSON") && pm.globals.get("schemaJSON");
const schema = schemaJSON && JSON.parse(schemaJSON);