Как преобразовать swagger в одноуровневый json?

Коллеги привет.

Дано:

  1. -Множество сваггеров (>5) версии 2.* и 3.*
  2. -Бек который парсит свагер и отдает плоскую структуру вебу и и веб из которого пользователь вызывает едпоинт.

Нужно из кастомного веб интерфейса вызывать едпоинты, которые описаны в swagger'aх Написал уже парсинг для 2.* версии сваггера, скрипт преобразует сложную структуру свагера в плоскую, типа:

  {
    "method": "getJointPOST",
    "name_method": "Получение (JOINT)",
    "http_method": "post",
    "path": "joint",
    "request": {
        "trace_id": {
            "type": "string",
            "description": "Идентификатор запроса",
            "allowEmptyValue": false,
            "pattern": "^\\p{ASCII}*$",
            "in": "body",
            "enum": null
        },
        "user_info": {
            "type": "string",
            "description": "Информация о пользователе",
            "allowEmptyValue": false,
            "pattern": "^\\p{ASCII}*$",
            "in": "body",
            "enum": null
        },
        "id_list": {
            "type": "array",
            "description": "Cписок  ID",
            "allowEmptyValue": true,
            "items": {
                "type": "string"
            },
            "in": "body",
            "enum": null
        }
    }

С такой структурой очень легко работать как фронту (flask) так и беку (в данном случае python). Как сказал ранее, такая преобразовалка есть для второй версии сваггера, но теперь стоит вопрос про третий сваггер aka OpenAPI, а он достаточно хипстерский (множество вариантов написания документации), что добавляет много головной боли по парсингу.

Есть у кого-нибудь опыт автоматического парсинга свагера для своих целей?


Ответы (0 шт):