Конвертер OpenAPI v2 в v3

ДанныеРазработчик
Реклама · УДАЛИТЬ?

Параметры

Реклама · УДАЛИТЬ?

Гид

Конвертер OpenAPI v2 в v3

Конвертер OpenAPI v2 в v3

Вставьте спецификацию Swagger 2.0 и получите валидную версию OpenAPI 3.0.3 в формате JSON или YAML. Конвертер применяет официальные правила структурного соответствия — перемещает definitions под components/schemas, сжимает host, basePathи schemes в servers, разбивает consumes и produces на отдельные операции content мапы и перестраивает параметры формы и определения безопасности — таким образом, ваша спецификация будет работать с современными инструментами OpenAPI.

Как использовать

  1. Вставьте свою спецификацию Swagger 2.0 в поле ввода. Поддерживается как JSON, так и YAML; формат автоматически определяется.
  2. Выберите формат вывода: сохранить исходный формат или принудительно использовать JSON или YAML.
  3. Оставить Исправление отсутствующих обязательных полей для автоматического заполнения обязательных полей версии 3, таких как info.title, info.version, и отсутствующих описаний ответов, когда исходный формат версии 2 не включает их.
  4. Просмотрите обзор конверсии и любые предупреждения, показанные выше результата, затем скопируйте или загрузите полученный OpenAPI 3.0.3 спецификацию.

Возможности

  • Вход в формате JSON и YAML, выход в формате JSON или YAML — выберите предпочитаемый формат или сохраните формат входа.
  • Структурное соответствиеdefinitionscomponents/schemas, securityDefinitionscomponents/securitySchemes, parameters/responses перемещаются под components, и каждый $ref указатель переписывается для соответствия.
  • Серверы из host, basePath, schemes — объединяются в массив v3 servers с предпочтением HTTPS при наличии нескольких схем.
  • Контент-неготиацияconsumes и produces переводятся в отдельные операции requestBody.content и responses[*].content мапы.
  • Параметры тела и формыin: body становятся полем v3 requestBodyи in: formData полей группируются в схему тела запроса. multipart/form-data или application/x-www-form-urlencoded Запроса.
  • Обновление потока безопасности — значения OAuth2 flow переписываются на объект v3 flows (/implicit, password, clientCredentials, authorizationCode).
  • Режим исправления — при включении заполняет отсутствующие обязательные поля, чтобы выходной формат проходил проверку v3 вместо того, чтобы не проходить из-за незначительных дефектов исходного формата.
  • Обзор конверсии и предупреждения — количество преобразованных путей, схем и схем безопасности, а также предупреждения относительно того, что не может быть преобразовано один к одному.
  • Работает полностью в браузере — ваша спецификация никогда не покидает страницу.

Часто задаваемые вопросы

  1. Какие структурные изменения произошли между Swagger 2.0 и OpenAPI 3.0?

    OpenAPI 3.0 перегруппировал повторно используемые элементы под единственный components объект: definitions становится components/schemas, parameters становится components/parameters, responses становится components/responsesи securityDefinitions становится components/securitySchemes. Транспортная поверхность также изменилась: host, basePathи schemes объединились в массив полных базовых URL, в то время как скрытые servers массивы заменились на явные consumes и produces мапы, идентифицирующие типы медиа на каждом теле запроса и ответа. content Почему в OpenAPI 3.0 потребовалась новая форма тел запроса?

  2. В Swagger 2.0 тело запроса было просто параметром с

    , а поля формы были параметрами с in: body. Это объединяло две разные темы (параметры пути/запроса/заголовка против тела запроса) в один список и делало негативную неготиацию неудобной. OpenAPI 3.0 разделил их: параметры используются только для пути, запроса, заголовка и куки; тело запроса перемещается в верхний уровень in: formDataмап. Это позволяет описывать один конечный пункт, который принимает requestBody с content с разными схемами для каждого. application/json, multipart/form-dataи application/x-www-form-urlencoded Являются ли Swagger 2.0 и OpenAPI 3.0 взаимозаменяемыми?

  3. Нет. Они — версии форматов описания, а не протоколы API, поэтому спецификация после конвертации не изменяет поведение вашего сервиса в режиме выполнения — но инструменты (генераторы, проверщики, мок-серверы, UI-представители) должны понимать версию, которую вы публикуете. OpenAPI 3.0 ввел функции, не имеющие аналогов в версии 2, включая

    , коллбэки, ссылки и более богатые потоки безопасности. В будущем (v3 → v2) это в целом является потерей, в то время как движение назад (v2 → v3) в основном механическим, поскольку v2 является строгим подмножеством выразительности v3. oneOf/anyOf/notЧто означает разрешение в данном контексте?

  4. — это указатель JSON, такой как $ref . Конвертация должна переписывать каждый указатель, потому что путь назначения изменяется:

    А $ref , и так далее. Сам указатель не разрешается (документ всё ещё ссылается по месту), но он должен быть переписан в синхронизированном режиме с изменением структуры, чтобы полученная спецификация v3 оставалась внутренне согласованной. #/definitions/UserВставьте свою спецификацию Swagger 2.0 здесь (YAML или JSON)... #/definitions/User превращается в #/components/schemas/User, #/parameters/AuthHeader превращается в #/components/parameters/AuthHeaderКонвертер OpenAPI v2 в v3 1

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?