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

Конструирование GraphQL-запросов

При настройке действий, применимых к экранной форме, вы можете конструировать GraphQL-запросы для выполнения CRUD-операций (create, read, update, delete) с данными. Текст GraphQL-запроса необходимо ввести в блоке Запрос окна Конструктор GraphQL. В блоке Результат этого окна по нажатию кнопки Выполнить запрос отображается результат выполнения GraphQL-запроса в виде JSON-структуры. Если GraphQL-запрос сконструирован неверно, отображается ошибка.

Конструкция GraphQL-запроса включает последовательность ключевых слов и GraphQL-типов, созданных на основе модели данных. Используются следующие ключевые слова, описывающие соответствующие типы операций:

  • query: выборка данных;
  • mutation: изменение данных;
  • subscription: подписка на изменение данных.

При конструировании GraphQL-запроса необходимо учитывать следующие особенности:

  • Имена сущностей в GraphQL-схеме являются регистрозависимыми и могут не совпадать с именами компонентов модели данных.
  • Имена GraphQL-запросов типа query и mutation, а также задаваемых переменных могут содержать только символы латиницы.
  • Имена переменных имеют префикс $.
  • Для объединения логически связанных элементов запроса используются фигурные скобки.
  • Операции присваивания и сравнения записываются с помощью двоеточия. Например, выражение "где itemA равно двум" в GraphQL-запросе записывается следующим образом: where:{itemA:{eq:2}}.
  • Конструктор запросов использует технологию IntelliSense и после ввода пробела или перевода на новую строку отображает варианты имен GraphQL-схемы, сокращая количество вариантов по мере ввода символов.

Следующий рисунок демонстрирует GraphQL-запрос в окне Конструктор GraphQL.

UG_GraphQL-query_marked.png
GraphQL-запрос и его элементы в окне Конструктор GraphQL

На рисунке отмечены следующие элементы:

  • 1 — ключевое слово для обозначения операции выборки данных.
  • 2 — имя GraphQL-запроса согласно вашим предпочтениям.
  • 3 — параметры GraphQL-запроса.
  • 4 — имя GraphQL-типа запрос из GraphQL-схемы согласно шаблону <псевдоним проекта>_<псевдоним класса>.
  • 5 — конструкция для фильтрации результата GraphQL-запроса.
  • 6 и 8 — элемент GraphQL-схемы, описывающий результирующий набор данных.
  • 7 и 9 — набор атрибутов, значения которых нужно получить в результате GraphQL-запроса. Заключается в фигурные скобки. Каждый атрибут записывается с новой строки без разделителей.
  • 10 — переменная, указанная в параметрах GraphQL-запроса. Имя переменной записывается в двойных кавычках. Значение переменной указывается после двоеточия. В блоке Переменные параметры GraphQL-запроса заключаются в фигурные скобки.

В этом разделе

Создание GraphQL-запроса типа query

Создание GraphQL-запроса типа mutation

Типичные ошибки при конструировании GraphQL-запросов