Перейти до вмісту

Імітація API GraphQL

Клацніть правою кнопкою на теці ▸ Додати ▸ Сервер GraphQL.

ПолеРоль
СхемаВизначення типів у форматі SDL
Імітовані резолвериОб’єкт JSON, ключі якого мають вигляд Тип.поле, наприклад Query.pets
Скрипт розв’язанняJavaScript, що отримує (parent, args, context)

Скрипт має перевагу над заздалегідь заданими значеннями, коли його заповнено: саме це дає змогу змінювати відповідь залежно від отриманих аргументів.

Елемент «Сервер GraphQL»: адреса прослуховування, схема SDL, яку видають, і карта заздалегідь заданих резолверів «ключ Тип.поле → значення»

Заздалегідь задані значення

Section titled “Заздалегідь задані значення”

Найшвидший шлях: схема описує форму, а резолвери дають вміст.

type Animal { id: ID!, nom: String!, espece: String! }
type Query { animaux: [Animal!]! }
{
"Query.animaux": [
{ "id": "1", "nom": "Mistigri", "espece": "chat" },
{ "id": "2", "nom": "Rex", "espece": "chien" }
]
}

Коли відповідь має залежати від вхідних даних:

// (parent, args, context)
if (args.espece) {
return animaux.filter((a) => a.espece === args.espece);
}
return animaux;

Підписки, оголошені в схемі, теж обслуговуються: клієнт може під’єднатися до них і отримувати надіслані повідомлення.

Дії Сервер GraphQL і Закриття сервера GraphQL розміщують службу на час сценарію. Див. Розміщені сервери.

Щоб розробляти фронтенд, поки бекенду ще немає, відтворити помилкову відповідь, яку важко спричинити в тестовому середовищі, або зафіксувати набір даних для детермінованого тесту — не залежачи від віддаленої служби.