Использование альтернативного клиента GraphQL для подключения к серверу Apollo - PullRequest
0 голосов
/ 10 января 2020

Можно ли подключиться к серверу Apollo GraphQL с помощью клиента, отличного от Apollo, такого как graphql. js - https://github.com/f/graphql.js?

Если это так, какую конечную точку следует использовать ? Или есть другой подход?

Это не с ошибкой сервера HTTP 500:

const graph = graphql('http://localhost:3013/graphql', {
        method: 'POST' // POST by default.
    });

    const res = graph(`query getQuestions {
        questions {
          id,
          question
        }
      }
    `);

    res().
        then((result) => console.log(result))
        .catch((err) => console.log(err));

1 Ответ

0 голосов
/ 10 января 2020

Конечно, вы можете использовать любой клиент GraphQL, если клиент следует за GraphQL c.

Например

server.ts:

import { ApolloServer, gql } from 'apollo-server';
import graphql from 'graphql.js';

const typeDefs = gql`
  type Query {
    _: String
  }
`;
const resolvers = {
  Query: {
    _: () => 'Hello',
  },
};
const server = new ApolloServer({
  typeDefs,
  resolvers,
});
server.listen().then(async ({ url }) => {
  console.log(`Apollo server is listening on ${url}graphql`);
  const graph = graphql(`${url}graphql`, { asJSON: true });
  const helloQuery = graph(`
    query {
      _
    }
  `);
  const actual = await helloQuery();
  console.log('actual: ', actual);
  server.stop();
});

Вывод:

Apollo server is listening on http://localhost:4000/graphql
actual:  { _: 'Hello' }
...