【问题标题】:Apollo Graphql with Fastify使用 Fastify 的 Apollo Graphql
【发布时间】:2020-11-14 05:46:06
【问题描述】:

我一直在尝试使用 Fastify 运行 Apollo Ghraphql 服务器。索引文件的代码 sn-p 如下:-

const { ApolloServer } = require('apollo-server-fastify');
const fastify = require('fastify')({ logger: true })
const config = require('./config')

const { typeDefs, resolvers } = require('./schema');
const server = new ApolloServer({
  typeDefs,
    resolvers
});

fastify.register(server.createHandler());
(async function () {
  await fastify.listen(config.port, config.host, (err) => {
    if(err) {
      console.log(err)
      process.exit(1)
    } else {
      console.log(`API server listening on port ${config.port} and host ${config.host}`)
    }

  })
})();

我的架构是这样的

const { gql } = require("apollo-server");

const typeDefs = gql`
    type Query {
        items: [Item!]!
        item: Item,
        hello: String!
    }
    type Item {
        id: ID!
        name: String!
        message: String!
    }
`;

const resolvers = {
    Query: {
        hello: () => "Hello World",
        items: () => {
      return {
        id: 1,
        name: 'test',
        message: 'test111'
      }
    },
    }
};

module.exports = {
    typeDefs,
    resolvers
};

当我启动服务器并尝试访问 http://localhost:3000/graphql 时,我收到消息“缺少 GET 查询”。在屏幕上。

我指的是这个 - https://www.npmjs.com/package/apollo-server-fastify。我是否缺少任何步骤。请帮忙。

【问题讨论】:

  • 你使用的是哪个版本的 fastify?
  • @ManuelSpigolon,“apollo-server-fastify”:“^2.16.0”,“fastify”:“^3.1.1”,
  • 我不确定 apollo 已经升级到 fastify 3,尝试安装 fastify v2
  • 是的。问题仅与版本有关。当我降级为“fastify”时:“^2.10.0”。它开始工作正常。谢谢@ManuelSpigolon

标签: graphql apollo-server fastify


【解决方案1】:

现在 fastify v3 已经在几周前发布了,并不是所有的生态系统都已经升级了。

所以你需要安装 fastify v2 npm i fastify@2,因为现在最新的是 v3。

【讨论】:

    猜你喜欢
    • 2018-08-24
    • 2017-09-01
    • 2021-03-02
    • 2018-03-20
    • 2020-09-13
    • 2017-11-30
    • 2019-09-14
    • 2017-12-23
    • 2020-09-13
    相关资源
    最近更新 更多