Как запустить запрос graphql с сервером apollo из переменной - PullRequest
0 голосов
/ 28 декабря 2018

В чистой реализации graphql мы можем запустить запрос из строки следующим образом:

var { graphql, buildSchema } = require('graphql');

var schema = buildSchema(`
  type Query {
    hello: String
  }
`);

var root = { hello: () => 'Hello world!' };

graphql(schema, '{ hello }', root).then((response) => {
  console.log(response);
});

Но не можем найти тот же метод в ApolloServer:

const server = new ApolloServer({ typeDefs, resolvers });
// something like this
server.runQuery('{ hello }');

1 Ответ

0 голосов
/ 28 декабря 2018

На самом деле, вы можете проверить запрос следующим образом:

const { ApolloServer, gql } = require('apollo-server');
const { createTestClient } = require('apollo-server-testing');

const typeDefs = gql`
  type Query {
    hello: String
  }
`;

const resolvers = {
  Query: {
    hello: () => 'Hello world!'
  }
};

const server = new ApolloServer({ typeDefs, resolvers });
const { query } = createTestClient(server);
const res = query({ query: '{ hello }' });
res.then(({ data }) => console.log(data))
// ==> [Object: null prototype] { hello: 'Hello world!' }
...