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