【问题标题】:Apollo GraphQL cannot query _serviceApollo GraphQL 无法查询 _service
【发布时间】:2022-03-23 21:22:48
【问题描述】:

我是 GraphQL 的新手。当我从 Apollo GraphQL 文档中复制这段代码(并且只为 console.log 错误添加一行)时,我遇到了这个问题。请告诉我如何解决它。

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

const typeDefs = gql`
  type Book {
    title: String
    author: String
  }
  type Query {
    books: [Book]
  }
`;

const books = [
  {
    title: 'The Awakening',
    author: 'Kate Chopin',
  },
  {
    title: 'City of Glass',
    author: 'Paul Auster',
  },
];

const resolvers = {
  Query: {
    books: () => books,
  },
};

const server = new ApolloServer({
  typeDefs,
  resolvers,
  formatError: (err) => console.log(err), // <-- only add 1 more line
});

(async () => {
  const app = express();
  await server.start();
  server.applyMiddleware({ app });

  app.listen(4000);
})();

这是我的package.json

"dependencies": {
    "apollo-server-express": "^3.6.3",
    "express": "^4.17.2",
    "graphql": "^16.3.0"
  }

然后,当我在http://localhost:4000/graphql 打开graphql studio playground -> 点击Query your server -> 我在终端上收到此错误

[ValidationError: Cannot query field "_service" on type "Query".] {
  locations: [ { line: 2, column: 9 } ],
  path: undefined,
  extensions: {
    code: 'GRAPHQL_VALIDATION_FAILED',
    exception: { stacktrace: [Array] }
  }
}```

【问题讨论】:

  • 我无法重现您的错误。我设置了与上述相同的测试,并且在查询服务时没有收到任何错误。您在操场上使用的查询是什么?哦,顺便说一句,您不需要将express 添加到您的项目中,它已经包含在apollo-server-express 中。

标签: node.js graphql apollo-server


【解决方案1】:

我再次检查,这是 GrapqhQL Studio 内部的错误,现在已修复。

【讨论】:

    猜你喜欢
    • 2017-04-16
    • 2018-10-19
    • 2016-08-31
    • 2020-10-01
    • 2018-03-02
    • 2021-07-04
    • 2022-07-15
    • 2021-07-04
    • 2018-06-13
    相关资源
    最近更新 更多