ajv не возвращается при проверке действительного json - PullRequest
0 голосов
/ 02 марта 2019

У меня есть следующая схема:

 {
      "$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"
    }
}

и нетответ на все возвращается.

Я попытался объединить схему, но это не имело никакого значения.Я надеюсь, что совершил простую ошибку новичка, которую кто-то может заметить!Я потратил много часов, пытаясь понять, что идет не так, но после всех отладок я больше не продвигаюсь вперед.

1 Ответ

0 голосов
/ 03 марта 2019

Я получил это как-то, но не уверен, почему он начал работать.

В моем тестовом скрипте я добавил строку для удаления тестового индекса изasticsearch.После этого все тесты пройдены.Затем я удалил новую строку из моего тестового сценария, чтобы увидеть, перестанет ли он работать снова, но это не так.

Я предполагаю, что проблема как-то связана с эластичным поиском ...

...