Валидатор OpenAPI JSON

Вставьте содержимое файла openapi.json или swagger.json и за несколько секунд получите структурную проверку. Валидатор убеждается, что JSON разбирается, поле версии есть, в info указаны title и version, а paths существует. Затем он предупреждает о необычных именах путей и неизвестных ключах операций.

Как проверить файл OpenAPI JSON

  1. 1

    Скопируйте файл

    Откройте `openapi.json` и скопируйте весь документ от открывающей фигурной скобки до закрывающей.

  2. 2

    Вставьте его в поле

    Вставьте его в поле документа OpenAPI / Swagger. Не нужно удалять пробелы или переформатировать текст.

  3. 3

    Запустите проверку

    Перейдите к шагу результатов, чтобы выполнить валидацию.

  4. 4

    Исправьте и повторите

    Исправьте файл по каждой ошибке, вставьте его снова и повторяйте проверку, пока в отчёте не останется ошибок.

Частые ошибки JSON, из-за которых проверка не проходит

JSON строже YAML, поэтому большинство сбоев в вручную редактируемом файле вызвано синтаксисом, а не архитектурой API. Обычные причины: запятая после последнего свойства, одинарные кавычки вместо двойных, комментарий (JSON их не допускает) или пропущенная закрывающая фигурная скобка после длинного объекта paths. Повреждённый файл обычно завершается сообщением “Could not parse as JSON or YAML” или отсутствием полей, потому что ничего пригодного прочитать не удалось.

Если вы видите только ошибку разбора, сначала найдите синтаксическую ошибку. Структурные проверки запускаются, когда документ читается как объект.

Пример

Возьмём небольшой документ:

{
  "openapi": "3.0.3",
  "info": { "title": "Orders API" },
  "paths": {
    "orders": { "get": { "summary": "List orders" } }
  }
}

Он разбирается, поле openapi и объект paths присутствуют. Отчёт всё равно покажет:

Результат Тип Почему
info.version is required. Ошибка В info есть title, но нет version
Path ‘orders’ should start with ‘/’. Предупреждение Ключ пути не начинается с косой черты

Из-за одной ошибки документ не считается валидным. Добавьте "version": "1.0.0" в info и переименуйте ключ в /orders. Повторный запуск уберёт оба замечания.

Что значит успешная проверка, а что нет

Чистый отчёт означает, что каркас правильный. Он не переходит по ссылкам $ref, не проверяет схемы и не подтверждает, что у каждой операции есть ответы. Считайте его быстрым фильтром перед фиксацией файла, а глубокие правила проверяйте полноценным линтером.

Практический порядок работы с JSON-спецификациями

Храните спецификацию в системе контроля версий и вставляйте её сюда перед каждым коммитом, который меняет paths. Поскольку проверка быстрая, она работает как проверка здравого смысла после слияния изменений нескольких человек, когда повторяющиеся ключи или неверно поставленная скобка наиболее вероятны. Если JSON генерируется скриптом сборки, вставляйте сгенерированный результат, а не шаблон, чтобы проверить то, что получат читатели. Когда отчёт чистый, файл можно публиковать или передавать генератору документации с большей уверенностью, что верхний уровень структуры корректен.

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

Нет. Пробелы и отступы не имеют значения. Вставьте файл как есть.

Стандартный JSON не допускает запятую после последнего элемента объекта или массива, поэтому документ нельзя прочитать как JSON. Уберите запятую и повторите проверку.

Да. Проверка версии принимает поле openapi или поле swagger, поэтому JSON-файлы Swagger 2.0 и OpenAPI 3.x проходят одну и ту же структурную проверку.

Нет. Результаты выводятся сообщениями, например об отсутствующем поле или имени пути, без номеров строк. Найдите в файле ключ, названный в сообщении.

Сопутствующие инструменты

Генератор вымышленных телефонных номеров

Создавайте до 50 вымышленных номеров из официально зарезервированных диапазонов пяти стран.

Генератор конфигурации webpack

Создайте webpack.config.js для webpack 5 под чистый JavaScript, React или Vue: TypeScript, Babel, CSS или Sass, изображения, HtmlWebpackPlugin, dev-сервер и команда npm install.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Валидатор XSD

Проверьте XML-документ в соответствии с схемой XSD и выявите несоответствия между элементами и их типами, указав точные номера строк.

Генератор случайных адресов

Создавайте 1–20 похожих на адрес записей для макетов и тестов в трёх упрощённых форматах.

Конвертер размера файлов

Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.

Инструмент доступен на других языках

Руководства и сценарии использования