Apollo Server Express 和 GraphQL 之间的关系是,Apollo Server Express 是一个用于构建基于 Express 的 GraphQL 服务器的库。它将 Express 服务器与 GraphQL 的功能集成在一起,使您可以快速轻松地构建和部署 GraphQL 服务器。
以下是一个示例代码,展示了如何使用 Apollo Server Express 构建一个基本的 GraphQL 服务器:
首先,安装必要的依赖项:
npm install express apollo-server-express graphql
然后,创建一个新的 Express 应用程序并配置 Apollo Server:
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');
// 定义 GraphQL schema
const typeDefs = gql`
type Query {
hello: String
}
`;
// 定义解析器函数
const resolvers = {
Query: {
hello: () => 'Hello, world!'
}
};
// 创建一个 ApolloServer 实例
const server = new ApolloServer({ typeDefs, resolvers });
// 创建一个 Express 应用程序
const app = express();
// 将 ApolloServer 实例作为中间件连接到 Express 应用程序上
server.applyMiddleware({ app });
// 启动服务器
app.listen({ port: 4000 }, () =>
console.log(`Server ready at http://localhost:4000${server.graphqlPath}`)
);
这段代码创建了一个简单的 GraphQL 服务器,其中只有一个查询类型 hello
,返回字符串 "Hello, world!"。通过访问 http://localhost:4000/graphql
可以访问 GraphQL Playground 来测试查询。
这是一个简单的示例,您可以根据自己的需求来定义更复杂的 GraphQL schema 和解析器函数。