Ссылка на значения удаленного перечисления из json -схемы - PullRequest
1 голос
/ 04 августа 2020

В моих определениях схемы у меня есть тип с целочисленным свойством, которое должно быть любым из «фиксированного» набора чисел. Проблема в том, что этот «фиксированный набор» может часто меняться. *

Я попробовал $ ref, но безуспешно. Если "ref" является частью решения, что должен вернуть бэкэнд?

{
  "enum": [1, 12, 30 ... , 1000]
}

или

  "enum": [1, 12, 30 ... , 1000]

или

  [1, 12, 30 ... , 1000]

1 Ответ

2 голосов
/ 04 августа 2020

основная схема:

    {
      "$schema": "https://json-schema.org/draft/2019-09/schema",
      "type": "object",
      "properties": {
        "aproperty": {
          "type": "integer",
          "$ref": "http://localhost:8080/fixed_set"
        },
      }
    }

подсхема:

{
  "$id": "http://localhost:8080/fixed_set",
  "enum": [1, 12, 30 ... , 1000]
}

Обратите внимание, что вы должны использовать оценщик, поддерживающий draft2019-09, чтобы $ref был распознан как родственный ключевое слово. В противном случае вам нужно обернуть его в allOf:

    {
      "type": "object",
      "properties": {
        "aproperty": {
          "type": "integer",
          "allOf": [
            { "$ref": "http://localhost:8080/fixed_set" }
          ]
        },
      }
    }
...