Есть ли способ разбить определение Swaggerfile / OpenAPI на несколько файлов? - PullRequest
0 голосов
/ 24 мая 2019

Есть ли способ разбить файл спецификаций swaggerfile / OpenAPI, JSON или YAML, кодирующий каждый $ ref в отдельный файл?Потому что я нашел множество решений для достижения противоположного (несколько файлов -> один файл), но ни одного для этого.

Я хотел бы добиться следующего: у меня есть огромный JSON-файл swaggerfile, содержащийвнутренние $ refs.Я хотел бы иметь один файл для каждого определения объекта или пути и в корневом файле ссылки (локальные или абсолютные) на эти файлы.Таким образом, я могу редактировать корневой файл, чтобы легко получить минимальное подмножество необходимых мне путей и объектов.

{
"in": "inputField",
"required": true,
"schema": {
    "$ref": "#/components/schemas/MyObject"
},
"components": {
    "schemas": {
        "MyObject": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                }
            }
        }
    }
},
"____comment": "I want MyObject definition in MyObject.json file and the $ref to that file"

}

1 Ответ

0 голосов
/ 15 июня 2019

Да, это возможно, вы должны использовать только регулярные выражения, обнаруживать зависимости и т. Д.

regex example from my project
new Regex("\"#/definitions/(.*)\"");
new Regex("#\\/definitions\\/(.*?)\\\"");
new Regex("\"" + key + "\": ");

и т. Д.Вы должны заменить элементы зависимостями и сохранить в файл.Я делаю это, чтобы получить jschema из модели.Ваш случай немного отличается, но смехотворен.

...