Перейти к основному содержанию

Форматировщик схем GraphQL

API reference

Проверка и переформатирование GraphQL SDL (Schema Definition Language) — определений type, interface, enum, input, scalar, union и directive. Для некорректных схем выводит точное синтаксическое сообщение об ошибке с номером строки и столбца, а корректные схемы выводит заново с единообразным отступом в 2 или 4 пробела, с возможностью сортировки типов и полей по алфавиту.

Ввод

Drop a file or browse
One file · text
Или

Параметры форматирования

Вывод

Отформатированная схема
 
Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/graphql-schema-formatter \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "graphqlInput": "\"\"\"\nA simple blog API schema.\n\"\"\"\nschema {\n  que…",
    "indentWidth": "2",
    "sortAlphabetically": ""
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

Use the IOTools `graphql-schema-formatter` tool (GraphQL Schema Formatter) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/graphql-schema-formatter/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Форматировщик схем GraphQL — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Вставьте схему GraphQL — определения type, interface, enum, input, scalar, union или directive, записанные в SDL (Schema Definition Language), — и получите обратно проверенную, единообразно оформленную версию. Форматировщик схем GraphQL разбирает вашу схему тем же эталонным парсером, который использует сам GraphQL, поэтому реальная синтаксическая ошибка выводится с точными номером строки и столбца, а не с догадкой, а корректная схема выводится заново с аккуратными и одинаковыми отступами.

Он создан для ситуаций, когда схема пришла в беспорядке: скопирована из pull request, взята из документации, сгенерирована code-first фреймворком или передана ИИ-ассистентом с непоследовательными отступами. Вставьте — и получите каноничную версию.

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

  1. Вставьте SDL GraphQL в поле ввода или загрузите файл .graphql, .gql или .sdl.
  2. По желанию задайте Ширину отступа (2 или 4 пробела) и включите Сортировать типы и поля по алфавиту.
  3. Скопируйте отформатированный результат или скачайте его как schema.graphql.

Форматирование выполняется автоматически при вводе текста или изменении параметров.

Что он делает

  • Настоящая проверка. Схема разбирается с помощью graphql-js — эталонной реализации спецификации GraphQL, той же, на которой работают такие инструменты, как Apollo Server и GraphQL Code Generator. Некорректная схема (пропущенное двоеточие, незакрытая фигурная скобка, неизвестный токен) возвращает точное сообщение парсера с номером строки и столбца, где произошла ошибка, вместо тихо выданного мусора.
  • Единообразные отступы. Выберите 2 или 4 пробела; каждый блок — type, interface, input, enum, schema и многострочные описания — перестраивается одинаково.
  • Описания сохраняются. Как однострочные ("..."), так и блочные ("""...""") строки описаний остаются привязанными к типу или полю, которое они документируют.
  • Необязательная сортировка по алфавиту. Когда опция включена, определения верхнего уровня группируются по виду (скаляры, перечисления, интерфейсы, объединения, объектные типы, входные типы, директивы; блок schema { ... } всегда остаётся первым) и сортируются по имени внутри каждой группы; поля внутри тел type/interface/input и значения внутри тел enum тоже сортируются по алфавиту. Порядок членов объединения (union) не меняется, так как он может иметь значение (предпочтительный тип, указанный первым).

Конфиденциальность

Всё происходит на стороне клиента, в вашем браузере. Схема никогда не отправляется на сервер.

Сохраняются ли комментарии #?

Нет. Лексер GraphQL считает комментарии в стиле # незначимыми и отбрасывает их до разбора — они не входят в AST схемы, поэтому ни один форматировщик, построенный на эталонном парсере, не может вернуть их без изменений. Строки описаний ("..." и """..."""), которые действительно являются частью схемы, сохраняются точно.

Проверяются ли ссылки между типами?

Проверяется синтаксис — корректно ли SDL разбирается как GraphQL, а не вся семантика схемы (неразрешённая ссылка на тип или директива, использованная там, где она не объявлена). Для проверки на этом уровне соберите схему с помощью серверной библиотеки GraphQL.

Можно ли отформатировать целую federated-схему или схему из нескольких файлов?

Вставьте их как один объединённый документ — определения extend type, extend interface и extend schema поддерживаются и форматируются так же, как любые другие определения.

Что именно переупорядочивает «Сортировка по алфавиту»?

Две независимые вещи: порядок определений верхнего уровня (сначала по виду, затем по имени) и порядок полей/значений перечисления внутри каждого определения. Инструмент никогда ничего не переименовывает и не меняет типы или аргументы.

graphqlsdlschemaformattervalidatorapibeautify

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.