happytails.ai
Русский

Проверка запросов GraphQL

Перед отправкой проверьте запросы GraphQL, мутации и фрагменты по своей схеме. Вставьте SDL или JSON интроспекции, чтобы увидеть поддерживаемые ошибки проверки с указанием строки и столбца.

Принимает операции объёмом до 200 000 символов, схему до 1 000 000 символов и переменные до 200 000 символов. Документы ограничены 100 000 токенов и 64 уровнями вложенности, схемы — 10 000 типами. Проверка выполняется в фоновом процессе браузера; данные не отправляются на сервер GraphQL. Можно скачать отчёт JSON и список ошибок CSV. Запросы, мутации, подписки и фрагменты. Поместите схему в поле Schema. До 200 000 символов. Проверьте настройки перед запуском.

Ваш результат

Сообщите о проблеме или поделитесь идеей.

Проверка запросов GraphQL
  1. Вставьте операции GraphQL и фрагменты в основное поле.
  2. Вставьте схему в формате SDL или JSON интроспекции в поле Schema.
  3. При желании добавьте переменные в виде объекта JSON.
  4. Запустите проверку, просмотрите каждое нарушенное правило и скачайте отчёт JSON или CSV.

Что нужно знать

Принимает операции объёмом до 200 000 символов, схему до 1 000 000 символов и переменные до 200 000 символов. Документы ограничены 100 000 токенов и 64 уровнями вложенности, схемы — 10 000 типами. Проверка выполняется в фоновом процессе браузера; данные не отправляются на сервер GraphQL. Можно скачать отчёт JSON и список ошибок CSV.

Что проверяется

Валидатор проверяет поддерживаемые правила для полей и возвращаемых типов, скалярных и объектных выборок, аргументов и обязательных аргументов, имён фрагментов, целей, циклов и неиспользуемых фрагментов, значений и входных объектов, включая @oneOf, директив и их расположений, а также объявлений, использования и типов переменных. При добавлении переменных их значения тоже сверяются с объявленными типами. Ниже описаны ограничения собственной реализации.

Как это работает

Happytails.ai использует собственные ограниченные парсер и валидатор GraphQL, а не graphql-js. Конфликты имён ответа сравниваются между фрагментами и объединёнными дочерними выборками, включая форму возвращаемого значения, аргументы и взаимоисключающие ветви объектов. Для __schema и __type требуется набор полей, но вложенные поля интроспекции не проверяются. Это не полная реализация GraphQL.

Чтение отчёта

Для каждой ошибки указаны правило, краткое объяснение, строка и столбец в операциях. Сама схема должна быть пригодна для использования: отсутствие типа Query или поле, ссылающееся на неопределённый тип, останавливает проверку с сообщением вместо списка ошибок.

Что можно сделать дальше