2017-11-19 1 views

Antwort

2

Abgesehen von der Tatsache, dass sie aus zwei verschiedenen Paketen sind seit buildSchema vom official graphql-js package und makeExecutableSchema ist von Appolo, tun sie auch ein etwas anderen Dinge.

buildSchema erstellt ein Schemaobjekt aus der Schemasprache. Es braucht nur eine große Zeichenfolge von Typdefinitionen als Argument.

makeExecutableSchema kombiniert Schema und Resolver, um ein ausführbares Schema zu erstellen. Es ist Teil eines graphql-tools Pakets, das die Verwendung der Schemasprache beim Schreiben von Resolvern erleichtert. Sie definieren also Typen und Resolver und übergeben sie an makeExecutableSchema. Sie können ein Array von Schemadefinitionen an dieses Schema übergeben, damit Sie mehrere Schemas zusammenführen und modularisieren können.

Sehen Sie Appolo docs for graphql-tools, um ihre vorgeschlagene Art der Erstellung von GraphQL-Servern zu sehen.

+0

Aber ich muss Resolver nicht bestehen, also was wären die Unterschiede in diesem Fall –

+0

Sie müssen Resolver an 'makeExecutableSchema' übergeben. Sie sind erforderlich. Das ist eine Möglichkeit, einen GraphQL-Server zu erstellen, wenn Sie 'graphql-tools' verwenden. Sie müssen es auf diese Weise tun, so dass Sie stattdessen "buildSchema" verwenden und Ihre Resolver als Option an Ihren GraphQL-Endpunkt übergeben können. –

Verwandte Themen