Если нет конкретной причины, по которой вы хотите самостоятельно проверить и выполнить документ GraphQL, вам, вероятно, следует использовать для этого существующую библиотеку.Два наиболее популярных решения для экспресс:
//express-graphql
const graphqlHTTP = require('express-graphql');
const { makeExecutableSchema } = require('graphql-tools');
const schema = makeExecutableSchema({
typeDefs,
resolvers,
});
app.use('/graphql', graphqlHTTP({
schema,
graphiql: true,
}));
app.listen(4000);
// apollo-server-express
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });
app.listen(4000);
Вы также можете просто использовать apollo-server
, который запускает apollo-server-express под капотом.
const { ApolloServer, gql } = require('apollo-server');
// pass in a schema
const server = new ApolloServer({
schema
});
// or let Apollo make it for you
const server = new ApolloServer({
typeDefs,
resolvers,
});
server.listen()
Ни одно из этихРешения требуют, чтобы вы включили body-parser
и предоставили тонну дополнительных функций "из коробки".