【发布时间】: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