# Commencer
Pour démarrer votre application il va falloir utiliser la class Schema
fournie par graphql-composer-decorators
(pas graphql-composer
).
# L'objet Schema
# static create
Créé une instance de Schema
:
import { Schema } from "graphql-composer-decorators";
const schema = Schema.create()
# load
Vous permet de charger tous les décorateurs, il faut indiquer à la méthode les chemins d'accès (sous format glob) aux fichiers de vos class ou directement passer la class en paramètres.
De façon générale, il suffit d'indiquer le chemin d'accès des résolveurs, car ceux-ci vont importer tous les types et donc charger les décorateurs
import { Schema } from "graphql-composer-decorators";
const schema = Schema
.create()
.load(`${__dirname}/resolvers/*.ts`);
# setConfig
Vous permet de configurer votre schéma.
Propriété | Description | Type |
---|---|---|
requiredByDefault | Si true , les types des champs seront NonNullable par défaut | boolean |
arrayRequired | Si true , les types à l'intérieur des tableaux seront NonNullable par défaut (si undefined , prend la valeur de requiredByDefault ) | boolean |
import { Schema } from "graphql-composer-decorators";
const schema = Schema
.create()
.load(`${__dirname}/resolvers/*.ts`)
.setConfig({ requiredByDefault: true });
# build
Vous retourne un schéma GraphQL GraphQLSchema
, qui peut être utilisé par toutes les librairies GraphQL (comme Apollo par exemple)
import { Schema } from "graphql-composer-decorators";
import { ApolloServer } from "graphql-server";
cost schema = Schema
.create()
.load(`${__dirname}/resolvers/*.ts`)
.setConfig({ requiredByDefault: true })
.build();
const server = new ApolloServer({ schema });