Przejdź do głównej zawartości

Symulowanie API GraphQL

Kliknięcie prawym przyciskiem na folderze ▸ Dodaj ▸ Serwer GraphQL.

PoleRola
SchematDefinicje typów, w SDL
Symulowane resolweryObiekt JSON, którego klucze mają postać Type.field, na przykład Query.pets
Skrypt resolweraJavaScript otrzymujący (parent, args, context)

Jeśli skrypt jest wypełniony, ma pierwszeństwo przed wartościami canned — to właśnie pozwala różnicować odpowiedź w zależności od otrzymanych argumentów.

Element Serwer GraphQL: adres nasłuchiwania, obsługiwany schemat SDL oraz mapa predefiniowanych resolwerów, klucz Type.field → wartość

Najszybsza droga: schemat opisuje kształt, a resolwery dostarczają treść.

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" }
]
}

Gdy odpowiedź ma zależeć od danych wejściowych:

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

Subskrypcje zadeklarowane w schemacie są obsługiwane na tych samych zasadach: klient może się z nimi połączyć i odbierać emitowane wiadomości.

Akcje Serwer GraphQL oraz Zamknięcie serwera GraphQL hostują usługę na czas trwania scenariusza. Zob. Serwery hostowane.

Do rozwijania warstwy front-end, zanim powstanie back-end, do odtworzenia odpowiedzi błędu, którą trudno wywołać na środowisku testowym, albo do zamrożenia zestawu danych na potrzeby deterministycznego testu — bez zależności od zdalnej usługi.