Gå til innholdet

Mocke et GraphQL-API

Høyreklikk på en mappe ▸ Legg til ▸ GraphQL-server.

FeltRolle
SkjemaTypedefinisjonene, i SDL
Mockede resolvereEt JSON-objekt der nøklene har formen type.field, for eksempel Query.pets
ResolverskriptJavaScript som får (parent, args, context)

Skriptet vinner over de faste verdiene når det er fylt ut: det er dette som lar svaret variere med argumentene som kommer inn.

Et GraphQL-server-element: lytteadressen, SDL-skjemaet som betjenes, og kartet over forhåndsdefinerte resolvere med nøkkel type.field → verdi

Den raskeste veien: skjemaet beskriver formen, og resolverne gir innholdet.

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

Når svaret må avhenge av det som kommer inn:

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

Abonnementene som er deklarert i skjemaet, betjenes også: en klient kan koble seg til dem og motta meldingene som sendes.

Handlingene GraphQL-server og Lukk GraphQL-server hoster tjenesten så lenge scenarioet varer. Se Hostede servere.

Å utvikle en frontend før backenden finnes, å gjenskape et feilsvar som er vanskelig å utløse i testmiljøet, eller å fastlåse et datasett til en deterministisk test — uten å være avhengig av en ekstern tjeneste.