Skip to Content
GraphQL Tools
DocumentationAPI@graphql-tools/schemasrcfunctionsmakeExecutableSchema

Function: makeExecutableSchema()

makeExecutableSchema<TContext>(__namedParameters): GraphQLSchema

Defined in: packages/schema/src/makeExecutableSchema.ts:51

Builds a schema from the provided type definitions and resolvers.

The type definitions are written using Schema Definition Language (SDL). They can be provided as a string, a DocumentNode, a function, or an array of any of these. If a function is provided, it will be passed no arguments and should return an array of strings or DocumentNodes.

Note: You can use GraphQL magic comment provide additional syntax highlighting in your editor (with the appropriate editor plugin).

const typeDefs = /* GraphQL */ ` type Query { posts: [Post] author(id: Int!): Author } `;

The resolvers object should be a map of type names to nested object, which themselves map the type’s fields to their appropriate resolvers. See the Resolvers section of the documentation for more details.

const resolvers = { Query: { posts: (obj, args, ctx, info) => getAllPosts(), author: (obj, args, ctx, info) => getAuthorById(args.id) } };

Once you’ve defined both the typeDefs and resolvers, you can create your schema:

const schema = makeExecutableSchema({ typeDefs, resolvers, })

Type Parameters

TContext

TContext = any

Parameters

__namedParameters

IExecutableSchemaDefinition<TContext>

Returns

GraphQLSchema