ajv не возвращается при проверке действительного json
У меня есть следующая схема:
{
"$schema": "http://json-schema.org/schema#",
"$id": "http://api.hobnob.social/schemas/users/create.json",
"title": "Create User Schema",
"description": "For validating client-provided create user object",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"password": { "type": "string" },
"profile": { "$ref": "profile.json#" }
},
"required": ["email", "password"],
"additionalProperties": false
}
{
"$schema": "http://json-schema.org/schema#",
"$id": "http://api.hobnob.social/schemas/users/profile.json",
"title": "User Profile Schema",
"description": "For validating client-provided user profile object when creating and/or updating an user",
"type": "object",
"properties": {
"bio": { "type": "string" },
"summary": { "type": "string" },
"name": {
"type": "object",
"properties": {
"first": { "type": "string" },
"last": { "type": "string" },
"middle": { "type": "string" }
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Я использую AJV для проверки против него. Я получаю ожидаемые результаты почти во всех случаях. Но при проверке json с включенными полями bio или summary (с типом строки), никакой ответ от ajv не приходит вообще.
Например, я пытаюсь подтвердить
{
"email": "e@ma.il",
"password": "password",
"profile": {
"name": {
"first": "firstname"
},
"bio":"this is a bio"
}
}
и никакой ответ вообще не возвращается.
Я попытался объединить схему, но это не имело значения. Я надеюсь, что совершил простую ошибку новичка, которую кто-то может заметить! Я потратил много часов, пытаясь понять, что идет не так, но после всех отладок я не продвинулся дальше.
0 ответов
Я получил это как-то работает, но не уверен, почему он начал работать.
В моем тестовом скрипте я добавил строку для удаления тестового индекса из asticsearch. После этого все тесты пройдены. Затем я удалил новую строку из моего тестового скрипта, чтобы увидеть, перестанет ли он работать снова, но это не так.
Я предполагаю, что проблема была так или иначе связана с эластичным поиском...