Форматировщик схем GraphQL
Проверка и переформатирование GraphQL SDL (Schema Definition Language) — определений type, interface, enum, input, scalar, union и directive. Для некорректных схем выводит точное синтаксическое сообщение об ошибке с номером строки и столбца, а корректные схемы выводит заново с единообразным отступом в 2 или 4 пробела, с возможностью сортировки типов и полей по алфавиту.
Ввод
Параметры форматирования
Вывод
Другие способы использовать этот инструмент
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 фреймворком или передана ИИ-ассистентом с непоследовательными отступами. Вставьте — и получите каноничную версию.
Как пользоваться
- Вставьте SDL GraphQL в поле ввода или загрузите файл
.graphql,.gqlили.sdl. - По желанию задайте Ширину отступа (2 или 4 пробела) и включите Сортировать типы и поля по алфавиту.
- Скопируйте отформатированный результат или скачайте его как
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 поддерживаются и форматируются так же, как любые другие определения.
Что именно переупорядочивает «Сортировка по алфавиту»?
Две независимые вещи: порядок определений верхнего уровня (сначала по виду, затем по имени) и порядок полей/значений перечисления внутри каждого определения. Инструмент никогда ничего не переименовывает и не меняет типы или аргументы.