Можно ли сгенерировать JS-схему draft4 с использованием quicktype? - PullRequest
0 голосов
/ 16 мая 2019

Я использую пакет npm quicktype для генерации схемы json из примеров файлов json. Позже я использую эти файлы схемы в файле openapispec, а затем создаю документацию и SDK с помощью инструмента генератор openapi .

Проблема в том, что quicktype по умолчанию генерирует json-схему draft6, а генератор открытого API не может читать / понимать что-либо выше draft4.

Я попробовал несколько генераторов схемы json и обнаружил, что quicktype довольно близок к тому, что требуется, и хотел бы продолжать его использовать.

Есть идеи, можно ли использовать quicktype для создания схемы draft4?

Редактировать: добавление примера. Упрощенная схема draft4 будет выглядеть примерно так:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "",
  "type": "object",
  "properties": {
        "property1": {
          "type": "string",
          "minLength": 1
        },
        "property2": {
          "type": "string",
          "minLength": 1
        }
    }
}

Теперь схема draft6, сгенерированная с использованием quicktype, будет выглядеть примерно так

{
    "$schema": "http://json-schema.org/draft-06/schema#",
    "$ref": "#/definitions/MyObject",
    "definitions": {
        "MyObject": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "property1": {
                    "type": "string"
                },
                "property2": {
                    "type": "string"
                }
            }
        }
    }
}
...