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, теперь у вас есть множество вариантов на выбор в зависимости от ваших конкретных требований. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует вашим потребностям. Приятного кодирования!