5 простых способов передать массив в Mutation Playground

Mutation Playground — мощный инструмент для тестирования и экспериментирования с мутациями GraphQL. Если вы работаете с массивами в мутациях GraphQL, вам может быть интересно, как эффективно передавать их на игровой площадке мутаций. В этой статье блога мы рассмотрим пять простых способов передачи массива на игровой площадке мутаций. Мы будем использовать разговорный язык и приведем примеры кода, чтобы вам было легче понять и реализовать эти методы в ваших проектах.

Метод 1: использование встроенного ввода
Самый простой способ передать массив на игровой площадке мутаций — использовать встроенный ввод. Вы можете определить массив непосредственно в аргументах поля мутации. Вот пример:

mutation {
  updateItems(input: { itemIds: [1, 2, 3] }) {
    ...
  }
}

Метод 2: использование переменных
Если у вас массив большего размера или вы хотите использовать его повторно, использование переменных является более организованным подходом. Определите переменную с нужным массивом и передайте ее в качестве аргумента. Вот пример:

mutation($ids: [ID!]!) {
  updateItems(input: { itemIds: $ids }) {
    ...
  }
}
// Query Variables
{
  "ids": [1, 2, 3]
}

Метод 3: использование строковой обработки JSON
В некоторых случаях вам может потребоваться передать массив в виде строки. Вы можете использовать JSON.stringify(), чтобы преобразовать массив в строку и передать его как переменную. Вот пример:

mutation($ids: String!) {
  updateItems(input: { itemIds: $ids }) {
    ...
  }
}
// Query Variables
{
  "ids": "[1, 2, 3]"
}

Метод 4: использование входных объектов
Если у вас есть дополнительные свойства, связанные с каждым элементом массива, вы можете использовать входные объекты. Определите тип входного объекта, который включает необходимые свойства, а затем передайте массив входных объектов. Вот пример:

mutation($items: [ItemInput!]!) {
  updateItems(input: { items: $items }) {
    ...
  }
}
// Query Variables
{
  "items": [
    { "id": 1, "name": "Item 1" },
    { "id": 2, "name": "Item 2" },
    { "id": 3, "name": "Item 3" }
  ]
}

Метод 5: использование типа списка GraphQL
Если вы используете строго типизированную схему GraphQL, вы можете определить тип списка в своей схеме и передать массив напрямую. Вот пример:

mutation {
  updateItems(input: { itemIds: [1, 2, 3] }) {
    ...
  }
}

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